[Network] HTTP vs HTTPS

류지수·2023년 5월 16일
0

Study

목록 보기
4/9

📌 HTTP(Hypertext Transfer Protocol)란?

HTTP는 클라이언트와 서버 간 통신을 주고받게 하는 기본적인 프로토콜
사용자가 웹 사이트를 방문하면 사용자 브라우저가 웹

서버에 HTTP 요청을 전송하고 웹 서버는 HTTP 응답으로 응답합니다. HTTP는 인터넷에서 하이퍼텍스트를 교환하기 위한 통신 규약으로, 80번 port를 사용하고 있습니다.

하지만, HTTP는 암호화가 되지 않은 데이터를 전송합니다. 즉, 브라우저에서 전송된 정보를 제3자가 가로채고 읽을 수 있습니다.
-> 이를 해결하기 위해 HTTPS를 통해 해결했습니다.

📌 HTTPS(Hyper Text Transfer Protocol Secure)란?

HTTPS는 HTTP 요청 및 응답을 SSL 및 TLS 기술에 결합한 것.
즉, HTTP에 데이터 암호화가 추가된 프로토콜

SSL(Secure Socket Layer)란?

SSL은 서버와 브라우저 사이에 안전하게 암호화된 연결을 만들 수 있게 도와주고, 서버와 브라우저가 민감한 정보를 주고받을 때 해당 정보가 도난당하는 것을 막아줌.

HTTPS는 SSL을 사용함으로써 보안 문제를 해결하였습니다. HTTPS는 HTTP와 다르게 443번 port를 기본을 사용하고 있습니다.

HTTPS 동작 방식

  1. 클라이언트(사용 브라우저)의 주소 표시줄에 https:// URL 형식을 입력하여 HTTPS 웹 사이트를 방문합니다.
  2. 브라우저는 서버의 SSL(공개키, 인증서)를 요청하여 사이트의 신뢰성을 검증하려고 시도합니다.
  3. 서버는 공개키가 포함된 SSL 인증서를 회신으로 전송합니다.
  4. 웹 사이트의 SSL 인증서는 서버 아이덴티티를 증명하고 브라우저에서 인증되면, 브라우저가 공개키를 사용하여 세션키가 포함된 메시지를 암호화하고 전송합니다.
  5. 웹 서버는 암호키를 사용하여 메시지를 해독하고 세션 키를 검색하고 세션 키를 암호화하여 브라우저에 승인 메시지를 전송합니다.
  6. 브라우저와 웹 서버 모두 동일한 세션 키를 사용하여 메시ㅣ지를 안전하게 교환하도록 전환합니다.

📌 HTTPS를 사용해야 하는 이유

🔒︎보안

HTTP 메시지는 권한이 없는 당사자가 인터넷을 통해 쉽게 엑세스하고 읽을 수 있습니다. 반면, HTTPS는 모든 데이터를 암호화된 형태로 전성하기 때문에 사용자가 민감한 데이터를 전송할 때 제3자가 네트워크를 통해 해당 데이터를 가로챌 수 없습니다. 신용카드나 주민등록번호와 같은 민감한 정보를 보호하려면 HTTPS를 선택하는 것이 좋습니다.

권위

검색 엔진은 HTTP의 신뢰성이 더 낮기 때문에 HTTPS를 사용하는 웹 사이트에 가산점을 부여하여 컨텐츠 순위를 HTTP 웹페이지보다 높게 지정합니다. 자신의 웹사이트가 검색 엔진에 빈번하게 노출되고 싶다면, HTTPS를 사용하는 것이 좋습니다.

Reference

profile
AI Engineer가 될테야

0개의 댓글