Computer Science/CS 스터디

HTTP와 HTTPS의 개념과 차이

sujii 2023. 7. 4. 21:12
반응형

 

HTTP란?

HTTP(Hyper Text Transfer Protocol): 서버/클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜

  • 인터넷에서 하이퍼텍스트를 교환하기 위한 통신 규약이며 브라우저로 데이터를 전송해주는 용도로 많이 사용
  • 기본 포트인 80번 포트에서 서비스 대기 중이며, 클라이언트가 TCP 80 포트를 사용해 연결하면 서버는 요청에 응답함
  • HTTP는 정보를 "텍스트"로 주고 받음. 따라서 전송 신호를 인터셉트하는 경우 데이터 유출이 발생할 수 있음.
프로토콜이란 ? : 컴퓨터 내부에서 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계를 의미한다.

 

HTTP의 구조

  • HTTP는 애플리케이션 레벨의 프로토콜로 TCP/IP 위에서 작동함
  • HTTP는 상태를 가지고 있지 않는 Stateless 프로토콜이며 Method, Path, Version, Headers, Body 등으로 구성됨

그러나, HTTP는 서버에서부터 브라우저로 전송되는데 이때, 암호화가 되지 않은 평문 데이터를 전송하기 때문에
제 3자가 정보를 조회할 수 있다는 문제점이 있다. (데이터 유출)

 

따라서 이를 해결하기 위해 HTTPS가 등장하게 되었다.

 


HTTPS란?

HTTPS(Hypertext Transfer Protocol secure): HTTP에 데이터 암호화가 추가된 프로토콜

  • SSL을 사용하여 암호화를 지원
  • HTTP와 다르게 443번 포트를 사용하며, 네트워크 상에서 중간에 제3자가 정보를 볼 수 없도록 공개키 암호화를 지원하고 있음
    (이 때문에 http보다 조금 느린 속도)

 

SSL 인증서란?

  • 웹사이트의 ID를 인증하고 암호화된 연결을 가능하게 하는 디지털 인증서
  • 웹 서버와 웹 브라우저 사이에 암호화된 링크를 생성하게 해주는 보안 프로토콜 (쉽게 말해 데이터를 암호로 바꿔줌)
  • 공개키/개인키 기반으로 데이터를 암호화하기 때문에 데이터는 암호화되고 전송되어 임의의 사용자가 데이터를 조회하여도 원본의 데이터를 보는 것은 불가능하게 해줌

 

HTTP와 HTTPS의 차이점

  • 앞서 언급하였듯 데이터 암호화 즉, SSL 인증서의 유무가 다름
  • 검색엔진 최적화(SEO)에 있어서 사이트가 더 상단에 노출됨
    (Google은 HTTPS를 적용한 사이트에게 더 상위권에 노출될 수 있도록 가산점을 부여함