[제로베이스] HTTP와 HTTPS의 개념과 차이점

eunseok·2023년 5월 4일
1
post-thumbnail

HTTP와 HTTPS의 차이점

HTTP(Hypertext Transfer Protocol)는 클라이언트와 서버 간 통신을 위한 통신 규칙 세트 또는 프로토콜이다.
사용자가 웹 사이트를 방문하면 사용자 브라우저가 웹 서버에 HTTP 요청을 전송하고 웹 서버는 HTTP 응답으로 응답한다.
웹 서버와 브라우저는 데이터를 일반 텍스트로 교환하게 된다. 즉, HTTP 프로토콜은 네트워크 통신을 작동하게 하는 기본 기술이다.
HTTPS(Hypertext Transfer Protocol Secure)는 HTTP의 확장 버전이라고 볼 수 있다. HTTPS에서는 브라우저와 서버가 데이터를 전송하기 전에 안전하고 암호화된 연결을 설정하기 때문에 더 안전한 버전이라고 할 수 있다.

HTTP와 HTTPS의 작동방법

HTTP는 여러 유형의 요청과 응답을 정의한다. 예를 들어, 웹 사이트의 일부 데이터를 보려는 경우 HTTP GET요청을 전송하게 되고, 연락처 양식 작성과 같은 일부 정보를 전송하려는 경우에는 HTTP PUT 요청을 전송한다.
서버는 숫자 코드 및 데이터 양식으로 다양한 유형의 HTTP응답을 전송한다.

  • 200 : 정상작동
  • 400 : 잘못된 요청
  • 404 : 리소스를 찾을 수 없음
    이러한 요청과 응답을 거치게 된다.

HTTPS는 HTTP와 다르게 암호화된 데이터를 전송한다. HTTP같은 경우에는 암호화되지 않은 데이터를 전송하기때문에 브라우저에서 전송된 정보를 누군가 가로채고 읽을 가능성이 있다.
이런 문제점을 개선하고 통신에 또 다른 보안 계층을 추가하기 위해 HTTPS라는 확장버전이 나오게 되었다. HTTPS는 HTTP 요청 및 응답을 SSL(Secure Sockets Layer) 및 TLS(Transport Layer Security) 기술에 결합한다. HTTPS 웹 사이트는 인증 기관(CA)에서 SSL/TLS 인증서를 받아야 하고, 신뢰를 구축하기 위해 데이터를 교환하기 전에 브라우저와 인증서를 공유한다. SSL 인증서는 암호화 정보도 포함하여 서버와 웹 브라우저는 암호화된 데이터나 스크램블된 데이터를 교환할 수 있다.

SSL과 TLS

SSL은 Secure Sockets Layer의 약자로, 서버와 클라이언트 사이에 암호화된 링크를 구성하기 위한 표준 보안 기술이다. 일반적으로 웹 서버와 브라우저, 또는 메일 서버와 메일 클라이언트 (예: Outlook) 간에 설정된다. SSL은 신용 카드 번호, 주민등록번호, 로그인 자격 증명과 같이 민감한 정보를 안전하게 전송할 수 있도록 한다.

TLS는 Transport Layer Security의 약자로, 인터넷 커뮤니케이션을 위한 개인 정보와 데이터 무결성을 제공하는 보안 프로토콜이다. TLS의 주요 사용 사례는 웹 애플리케이션과 서버 간의 통신을 암호화하는 것으로, 웹 브라우저가 웹 사이트를 로드하는 경우와 같다. TLS는 또한 이메일, 메시징 및 음성 인터넷 프로토콜(VoIP)과 같은 다른 통신을 암호화하는 데도 사용될 수 있다.
TLS는 SSL에서 발전된 버전이다.

HTTPS를 설정하고 인증하는 방법

앞서 설명했듯이 도메인에 HTTPS를 사용하기 위해서는 SSL 또는 TLS 인증서가 필요하다.
웹 호스트에서 HTTPS 보안을 제공하거나 인증 기관에 SSL/TLS 인증서를 요청하여 직접 설치할 수있다. SSL/TLS 인증서는 정기적으로 갱신해야 할 수 있다.

  • Google 서비스에서 SSL/TLS 인증서를 자동으로 발급, 설치, 갱신
    Google Domains에 등록한 도메인에 웹사이트, 블로그 또는 온라인 상점을 호스팅할 수 있다.
    https://support.google.com/domains/answer/10996099?sjid=7053235142485153457-AP

  • CA에서 인증서를 요청 및 발급 받아 사용하기
    도메인을 먼저 발급한 후, DNS 서버에 도메인과 ip를 연결해주고 CA에서 인증서를 요청 및 발급 받고 Server에 인증서를 등록하여 사용하는 방법이 있다.

이번에 정리해 보면서 다음에 직접 인증서를 발급 받아 도메인에 https를 설정해 볼 필요가 있다고 느꼈다. 그 때 한번 더 블로그에 작성하면서 정리 해 보겠다.

-참고-

https://aws.amazon.com/ko/compare/the-difference-between-https-and-http/
https://gngsn.tistory.com/82
https://support.google.com/domains/answer/10996099?sjid=7053235142485153457-AP

0개의 댓글