본문 바로가기
공부

HTTP와 HTTPS

by GGT 2020. 5. 28.

HTTP

WWW상에서 클라이언트와 서버 간 데이터를 주고받기 위한 TCP/IP 기반 통신 프로토콜

특징

  • stateless함
  • 연결을 맺지 않기 때문에 요청/응답의 구조로 통신
  • 캐싱이 가능
  • 비연결성을 보완하기 위해 쿠키, 세션이 등장

주요 method

  • GET
  • POST
  • PUT
  • DELETE

HTTPS

HTTP의 보안을 강화하기 위해 통신 사이에 SSL을 추가한 프로토콜

HTTP는 HTML이나 JSON을 전송하는 평문 통신이기 때문에 도청이 가능

그리고 송신자가 누구인지 확인을 안하기 때문에 위장이 가능

주요 키워드

  • 대칭키
  • 공개키
  • CA

동작 방식

  • HTTPS를 적용하려는 서버는 공개키, 개인키를 만들고 공개키를 CA에 보낸다.
  • CA는 해당 서버를 검토하고 인증서에 여러 정보와 서버의 공개키를 넣어 CA의 개인키로 암호화해 전송
  • 서버는 해당 인증서를 가지고 있다가 클라이언트가 요청시 인증서를 전송
  • 클라이언트의 브라우저는 이미 CA의 공개키를 가지고 있다.
  • 만약 서버의 인증서를 CA의 공개키로 복호화가능하다면 CA로부터 신원이 확인된 서버라고 판단
  • 그후 랜덤 생성한 대칭키와 데이터를 인증서 내부의 서버 공개키로 암호화
  • 서버 클라이언트로 받은 대칭키를 복호화하고 그 이후부터는 해당 대칭키를 통해 통신
반응형

'공부' 카테고리의 다른 글

URL과 URI 헷갈리지 말자  (0) 2020.05.28
REST API  (0) 2020.05.28
파이썬의 GC, GIL  (0) 2020.05.27
기술 면접 준비 - 자바  (0) 2020.05.27
끝이 안보이는 기사 공부  (0) 2020.05.13

댓글