[ HTTP 정의 ]
서버/클라이언트 모델을 따라 데이터를 주고받기 위한 프로토콜
포트번호 : 80
WWW(World-Wide-Web) 기반에서 세계적인 정보를 공유하는데 큰 역할
[ HTTP 구조 ]
# case 1
GET / HTTP/1.1
Host: naver.com
Accept-Language : kr
# case 2
POST /movie HTTP/1.1
Host: daum.net
Accept-Language : kr
# construct
[Method][Path][Version of the protocol]
[Headers]
[Body]
[ HTTP 문제점 ]
암호화 되지 않은 평문 데이터를 전송하는 프로토콜
비밀번호 등을 주고 받을 때, 제 3자가 정보 조회 가능
[ HTTPS 정의 ]
HTTP에 데이터 암호화가 추가된 프로토콜
포트번호 : 443
제 3자가 정보를 조회할 수 없도록 공개키 암호화 지원
[ 공개키/개인키 ]
공개키 ( Public-Key ) : 누구나 확인할 수 있는 공개된 키
비밀키 ( Private-Key ) : 사용자 혹은 각 개인을 식별할 수 있는 공개되지 않은 키
공개키 -> 암호화 / 비밀키 -> 복호화
ex) 공인인증서
[ HTTPS 문제점 ]
암호화/복호화 과정이 필요하기 때문에 HTTP보다 속도가 느림
인증서를 발급하고 유지하기 위한 추가 비용 발생
사이트 조회 등 정보 제공 서비스만 제공하는 경우 -> HTTP
개인 정보 등의 데이터를 전송하는 경우 -> HTTPS