출처: https://seopressor.com/blog/http-vs-https/

 

HTTP(HyperText Transfer Protocol)

HTTP은 월드 와이드 웹에서 데이터를 주고받을 때 사용되는 프로토콜이다. HTTP애플리케이션 계층에서 작동하며 하나의 TCP연결을 사용한다. 즉 TCP/IP 위에서 작동을 한다. 또한 별도의 제어 연결 없이 데이터만 클라이언트와 서버사이에 전송이 된다. HTTP의 클라이언트(브라우저)가 서버에 데이터를 요청(request)하면 서버에서 응답(response)하는 구조이며 80번 포트를 사용한다.

 

Connectionless

Connectionless는 각 요청이나 응답에 대해 하나의 TCP연결이 만들어지기 때문에 클라이언트가 어떤 데이터를 한번 요청하면 서버에서 응답을 한 후 연결을 끊는 것을 말한다. 예를 들면 다음과 같이 동작한다고 할 수 있다.

  1. 클라이언트가 TCP연결을 열고 요청을 보낸다.
  2. 서버는 응답을 보내고 연결을 닫는다.
  3. 클라이언트는 서버로부터 받은 데이터를 다 읽으면 연결을 닫는다.

이렇게 되면 데이터를 다 받을때까지 매번 연결을 했다가 닫아야 하므로 큰 오버헤드가 발생된다. 이에 HTTP 1.1부터는 Keep-alive기능을 지원한다. Keep-alive는 클라이언트의 요청이 있거나 특정 시간이 지나기 전까지는 연결이 끊기지 않게 해준다. 

 

Stateless

Stateless는 위에서 각 요청에 대해 연결이 되었다가 닫히게 되므로 서버가 클라이언트의 정보를 식별할 수 없는 상태를 말한다. 즉, 어떤 사이트에 로그인을 했더라도 서버에서 정보를 갖고있지 못하기 때문에 다른 요청이 필요할 때 마다 로그인을 다시 해주어야할 것 이다. 이러한 문제점을 해결하기 위해 HTTP는 브라우저 단에서 쿠키(Cookie)를 이용하고 있다. 

 

출처: https://seopressor.com/blog/http-vs-https/

 

HTTPS(HyperText Transfer Protocol Secure)

위에서 HTTP가 무엇인지 알아보았다. 그렇다면 과연 HTTPHTTPS의 차이점은 뭘까? 단어를 보면 알 수 있듯이 보안적인 문제가 가장 큰 차이이다. 일반적으로 HTTP는 전송되는 데이터가 암호화되어 있지 않아 탈취를 당할 수 있다. 반면에 HTTPSSSL(Secure Sockets Layer) 와 TLS(Transport Layer Security)를 사용하여 데이터를 암호화하여 이 문제를 해결하고 있다. HTTP가 애플리케이션에서 작동하고 80번 포트를 사용하는 반면 HTTPS는 443번 포트를 사용한다. 또한 웹 사이트에서 HTTPS를 사용할 경우 각종 검색 엔진에서의 검색 순위를 높이는 데에 도움이 될 수 있다.



 

'Network' 카테고리의 다른 글

[네트워크] DNS란?  (0) 2021.02.18
[네트워크] IP주소와 MAC주소  (0) 2020.10.07
[네트워크] OSI 7계층 모델  (0) 2020.08.28

생강강

,