[CS] HTTP와 HTTPS

giggle·2023년 8월 7일
0
post-custom-banner

📌 HTTP란?

인터넷 상에서 클라이언트와 서버가 자원을 주고 받을 때 쓰는 통신 규약

  • HTTP(Hypertext Transfer Protocol)은 서로 다른 시스템들 사이에 통신을 주고 받게 해주는 가장 기본적인 프로토콜입니다.
  • 웹 서핑을 할 때 서버에서 자신의 브라우저로 데이터를 전송해주는 용도로 많이 사용되며, 서버-클라이언트 모델에 맞춰 데이터를 주고 받기 위한 프로토콜
  • 인터넷 초기에 모든 웹 사이트에서 기본적으로 사용되었던 프로토콜
  • 80번 포트를 기본적으로 사용

구조

  • HTTP는 애플리케이션 레벨의 프로토콜이기 때문에 TCP/IP 위에서 동작합니다.
  • HTTP는 상태를 가지지 않은 Stateless 프로토콜이며 Method, Path, Version, Headers, Body 등으로 구성됩니다.

장점

간단함: HTTP는 간단하고 가벼운 프로토콜로 웹 페이지를 요청하고 전송하는 데 적합합니다.
성능, 신속한 전송: 보안 계층이 없기 때문에 데이터 전송이 빠릅니다.

단점

보안 결여: 데이터가 암호화되지 않아 도청과 데이터 변조의 위험이 있습니다.
개인 정보 노출: 사용자의 개인 정보와 민감한 데이터가 평문으로 전송되므로, 해커가 정보를 가로챌 수 있습니다.
신원 확인 불가: 서버의 신원을 확인할 수 없어, 위장한 악의적인 사이트로 사용자를 유인할 수 있습니다.


📌 HTTPS란?

인터넷 상에서 정보를 암호화하는 SSL 프로토콜을 사용해 클라이언트와 서버가 자원을 주고 받을 때 쓰는 통신 규약

  • HTTPS는 HTTP에 데이터 암호화가 추가된 프로토콜입니다
  • HTTPS는 HTTP와 다르게 443포트를 기본으로 사용하며 네트워크 상에서 제 3자가 정보를 볼 수 없도록 암호화하여 전송합니다.
  • HTTPS 프로토콜은 SSL(보안 소켓 계층)을 이용해서 HTTP의 보안상 문제를 해결했으며 SSL은 서버와 브라우저 사이에 안전하게 암호화된 연결을 만들 수 있게 도와주고 서버 브라우저가 민감한 정보를 주고 받을 때도 도난당하는 것을 막아줍니다.
  • 공개키 방식의 암호화 진행

보안 방식

  • SSL 인증서를 HTTP 프로토콜에 추가하여 만들어진 것이 HTTPS이며, SSL 인증서는 사용자가 사이트에 제공하는 정보를 암호화하는데 이용됩니다.
  • 따라서 제 3자가 데이터를 훔쳐낸다고 하더라도 데이터가 암호화처리 되어 있기 때문에 해독을 할 수 없어 데이터를 읽을 수 없습니다.
  • HTTPS는 TLS(전송 계층 보안) 프로토콜을 사용해서 보안을 유지한다. TLS는 데이터 무결성을 보장해서 데이터가 전송 중에 수정되거나 손상되는 것을 방지하며 사용자가 접속하려는 웹사이트와 통신하고 있음을 증명할 수 있는 인증 기능도 가지고 있습니다.

장점

  • 보안: HTTPS는 SSL/TLS (Secure Sockets Layer/Transport Layer Security) 프로토콜을 사용하여 데이터를 암호화하고 보안 접속을 제공합니다. 이로써 도청, 변조, 위장 등의 위협을 줄일 수 있습니다.
    신원 확인: SSL/TLS 인증서를 통해 서버의 신원을 확인할 수 있습니다. 사용자는 통신 상대가 신뢰할 수 있는 서버임을 인지할 수 있습니다.
    검색 엔진 최적화: HTTPS는 검색 엔진에 의해 우선적으로 취급되므로 웹 사이트의 검색 엔진 최적화에 도움을 줍니다.

단점

성능: 암호화와 복호화 과정이 추가되어 서버와 클라이언트 간의 통신이 더 복잡해질 수 있고, 일부 성능 저하가 있을 수 있습니다.
비용: SSL/TLS 인증서를 획득하는 데 비용이 발생할 수 있습니다.

📌 HTTP와 HTTPS의 차이점

보안 여부: HTTP는 보안을 제공하지 않고, HTTPS는 보안 계층인 SSL/TLS를 사용하여 데이터 암호화와 보안 접속을 제공합니다.
포트 번호: HTTP는 80 포트를 사용하고, HTTPS는 443 포트를 사용합니다.
URL 표기: HTTP는 "http://"로 시작하며, HTTPS는 "https://"로 시작합니다.
인증서: HTTPS는 SSL/TLS 인증서를 사용하여 서버의 신원을 확인하고 보안을 보장합니다.
검색 엔진 최적화: HTTPS가 검색 엔진에서 우선 취급되어 검색 엔진 최적화에 도움을 줍니다.


참고


피드백 및 개선점은 댓글을 통해 알려주세요😊

profile
배움을 글로 기록하는 개발자가 되겠습니다.
post-custom-banner

0개의 댓글