HTTP, HTTPS
Post

HTTP, HTTPS

HTTP

1989년 팀 버너스 리에 의해 처음 설계되었으며, WWW(World Wide Web)기반으로 사용된다.

HTTP는 HyperText Transfer Protocol의 약자로, 인터넷에서 하이퍼텍스트를 교환하기 위한 통신규약이다. 서버와 브라우저 간의 데이터 전송을 위한 응용계층 프로토콜이다.
(프로토콜: 컴퓨터 사이에서 데이터의 교환방식을 정의하는 규칙체계)

HTTP는 애플리케이션 레벨의 프로토콜로 TCP/IP 위에서 작동하고, UDP 방식이 사용된다.

HTTP는 암호화 되지 않은 평문데이터를 전송하는 프로토콜이라 데이터가 제3자에게 노출될 수 있는 보안상의 문제가 있는데 이러한 점을 HTTPS가 보완해준다.



HTTPS

HTTPS는 Hypertext Transfer Protocol Secure의 약자로 표준 HTTP와 동일한 방식으로 작동하지만, 데이터가 암호화되어 웹사이트에 추가적인 데이터 보호를 제공한다.

2014년 구글에서 HTTPS 사용을 권장하고 HTTPS사이트에게 SEO가산점을 주게되면서 HTTPS 사용률이 높아졌고, 현재는 HTTP 사이트 접속시 보안위험 메시지가 뜨게된다.

HTTPS 사이트 확인

브라우저에서 URL 앞에 자물쇠 아이콘이 있다면 현재 접속한 사이트가 HTTPS 보안사이트임을 나타낸다.

SSL 암호화 통신

HTTPS는 SSL(Secure Socket Layer)이라는 보안계층이 추가된다. HTTPS는 SSL위에 HTTP를 얹어서 보안이 추가된 프로토콜이다. 이러한 통신 방식을 SSL암호화 통신이라고도 한다.

SSL암호화 통신은 공개키 암호화 방식 알고리즘을 통해 구현된다.

공개키 암호화 방식

HTTPS는 대칭키 암호화와 비대칭키 암호화를 모두 사용하여 빠른연산속도와 안정성을 모두 얻고 있다.

HTTPS 연결과정에서 서버와 클라이언트 간 처음 연결 시 안전하게 세션키를 공유하는 과정에서 비대칭키가 사용되고, 이후에 데이터를 교환하는 과정에서 빠른 연산 속도를 위해 대칭키가 사용된다.

가속화된 모바일 페이지(AMP:Accelerated Mobile Pages)

AMP를 만들기 위해서는 HTTPS 프로토콜을 사용해야 한다.
AMP란 구글이 모바일 기기에서 빠르게 콘텐츠를 로딩할 수 있도록 만든 것이다.
모바일 사용률이 높아지므로 HTTP보다는 HTTPS사용이 필수라고 볼 수 있다.



참고