Computer Science/네트워크

HTTP와 HTTPS의 차이

양찬우 2021. 5. 31. 14:55
728x90

개요

  • HTTP와 HTTPS의 차이에 대한 질문을 받았는데 보안의 이점이 있다는 점 밖에 기억해내지 못했다…
  • 분명 SSL에 대해 알고있었고 Gunicorn으로 HTTPS를 사용해보기도 했는데, 대답하지 못했다는 것은 아직 확실히 체득하지 못했기 때문이라고 판단했다.
  • 좀 더 정확하게 서술된 언어로 공부하고자 정리하여 글로 작성했다.

HTTP란?

  • HTTP(HyperText Transfer Protocol), 초본문전송규약, 하이퍼본문전송규약
  • 웹상에서 클라이언트와 웹서버간 통신을 위한 프로토콜
  • W3 상에서 정보를 주고받을 수 있는 프로토콜이다. 주로 HTML 문서를 주고받는 데에 쓰인다. 주로 TCP를 사용하고 HTTP/3 부터는 UDP를 사용하며, 80번 포트를 사용한다.
  • HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜이다. 예를 들면, 클라이언트인 웹 브라우저가 HTTP를 통하여 서버로부터 웹페이지(HTML)나 그림 정보를 요청하면, 서버는 이 요청에 응답하여 필요한 정보를 해당 사용자에게 전달하게 된다.

HTTP의 단점

  • 서버에서부터 브라우저로 전송되는 정보가 암호화되지 않는다.(== 데이터 도난의 위험성이 있다.)

HTTPS란?

  • HTTPS(Hypertext Transfer Protocol Secure), 하이퍼 텍스트 전송 프로토콜 보안
  • 간단히 말해 HTTP에 SSL을 추가한 것.

SSL이란?

  • SSL(Secure Socket Layer), 보안소켓계층
  • Netscape사에서 웹서버와 브라우저 사이의 보안을 위해 만들었다. SSL은 Certificate Authority(CA)라 불리는 서드 파티로부터 서버와 클라이언트의 인증을 하는데 사용된다.
  • 사용하여 서버와 브라우저 간에 암호화된 연결을 생성할 수 있다. 서버 브라우저의 민감한 정보 도난을 방지할 수 있다.

HTTPS의 장점

  • SSL 인증서를 통한 데이터 암호화
  • TLS(전송계층보안) 프로토콜을 통해 보안 유지, 데이터 무결성 보장
  • HTTP에 비해 검색엔진 최적화(SEO)에 혜택을 받는다.
  • 구글이 개발한 가속화된 모바일 페이지(AMP)를 만들 수 있다.
  • HTTP2.0 사용하기에 HTTP1.1 사용하는 HTTP보다 빠르다.
    • HTTP1.1에서 동일 조건하에 HTTP가 HTTPS보다 빠르다 (SSL/TLS, 암호화 시 CPU사용 및 암호화로 인한 데이터 길이 증가)

HTTP1.1? HTTP2.0?

HTTP1.1

  • 1999년 출시
  • 연결당 하나의 요청과 응답을 처리
  • UI 개발자/프론트엔드개발자는 이미지 스프라이트, 도메인샤딩, CSS/JavaScript 압축, Data URI 등을 업무에 사용하였습니다.단점
  • 동시전송 문제와 다수의 리소스를 처리하기에 속도와 성능 이슈
  • HOL(Head Of Line) Blocking-특정응답지연
  • RTT(Round Trip TIme) 증가
  • 헤비한 Header구조

HTTP2.0

  • 성능 / 속도 월등히 개선되었다.
  • Multiplexed Streams(한 커넥션에 여러개의 메세지를 동시에 주고 받을 수 있음)
  • Stream Prioritization(요청 리소스간 의존관계를 설정)
  • Server Push(HTML문서상에 필요한 리소스를 클라이언트 요청없이 보내줄 수 있음)
  • Header Compression(Header 정보를 HPACK압충방식을 이용하여 압축전송)

참고

728x90