HTTP/HTTPS의 개념

network

작성일 : 2023.03.25

HTTP/HTTPS란?

HTTP(Hypertext Transfer Protocol)는 클라이언트와 서버 간 통신을 위한 통신 규칙이다. 사용자가 웹 사이트에 방문을 하면 자용자 브라우저가 웹 서버에 HTTP요청을 전송하고 웹 서버는 HTTP로 응답한다. HTTP는 네트워크 통신을 작동하게 하는 기본 기술이다. HTTPS(Hypertext Transfer Protocol Secure)는 HTTP의 확장 버젼에 안정성이 더 올라간 버젼인데 HTTPS는 브라우저와 서버가 데이터를 전송하기 전에 안전하고 암호화된 열결을 설정한다.

HTTP란?

HTTP는 OSI 네트워크 통신 모델의 어플리케이션 계층 프로토콜이다. HTTP는 여러 요청과 응답을 정의하는데 예를 들어 웹 사이트의 일부 데이터를 보려는 경우 GET요청을 전송하고 연락처 양식 작성과 같은 일부 정보를 전송하려는 경우 PUT요청을 전송한다.

마찬가지로 서버는 숫자코드로 응답을 전송한다. 200 - OK(정상) 400 - Bad request(잘못된 요청) 404 - Resource not found(리소스를 찾을 수 없음) 이러한 요청은 일반 사용자에겐 보이지 않고 브라우저와 웹 서버가 통신하는 방식이다.

HTTPS란?

HTTP는 암호화 되지 않은 데이터를 전송해 보안이 취약하다는 단점이 있다. 브라우저에서 제3자가 정보를 가로채고 읽을 수 있는데 이는 정상적인 작동 방식이 아니기 때문에 통신에 보안 계층을 추가하기 위해 SSL 및 TLS 기술이 추가된 HTTPS로 확장됐다.

HTTPS 웹 사이트는 독립된 인증 기관(CA)에서 SSL/TLS 인정서를 획득해야 하는데 이러한 웹 사이트는 신뢰를 구축하기 위해 데이터를 교환하기 전에 브라우저와 인증서를 공유합니다. SSL 인정서는 암호화 정보도 포함하고 있다. 서버와 웹 브라우저는 암호화된 데이터나 스크램블된 데이터를 교환할 수 있다. 프로세스는 다음과 같이 작동한다.

  • 사용자 브라우저의 주소 표시줄에 https:// URL 형식을 입력하여 HTTPS 웹 사이트를 방문합니다.
  • 브라우저는 서버의 SSL 인증서를 요청하여 사이트의 신뢰성을 검증하려고 시도합니다.
  • 서버는 퍼블릭 키가 포함된 SSL 인증서를 회신으로 전송합니다.
  • 웹 사이트의 SSL 인증서는 서버 아이덴티티를 증명합니다. 브라우저에서 인증되면, 브라우저가 퍼블릭 키를 사용하여 비밀 세션 키가 포함된 메시지를 암호화하고 전송합니다.
  • 웹 서버는 프라이빗 키를 사용하여 메시지를 해독하고 세션 키를 검색합니다. 그런 다음, 세션 키를 암호화하고 브라우저에 승인 메시지를 전송합니다.
  • 이제 브라우저와 웹 서버 모두 동일한 세션 키를 사용하여 메시지를 안전하게 교환하도록 전환합니다. https://aws.amazon.com/ko/compare/the-difference-between-https-and-http/

https://mangkyu.tistory.com/98