티스토리 뷰

반응형

 보통 HTTP의 대표적인 특성으로 무상태성(Stateless), 비연결성(Connectionless)를 들어 설명한다. 하지만 공부하던 중 HTTP는 Persistence Connection을 1.0부터 지원하고 있으며 심지어 1.1부터는 클라이언트의 별도 언급이 없다면 요청을 기본적으로 Keep-Alive로 취급한다. 1.1은 가장 대중적으로 사용되는 버전인데 Keep-Alive가 기본이라면 왜 HTTP는 Connectionless 하다고 하는 것인지 의문이 생겼다.

 

https://en.wikipedia.org/wiki/HTTP_persistent_connection

 의문에 대한 해답은 간단했다.  HTTP persistence connection은 해당 HTTP 메시지를 주고받기 위한 TCP connection을 유지하여 3-way handshake를 불필요하게 다시 맺지 않아도 되게 함이지 HTTP의 연결이나 내용 자체를 유지하는 것이 아니다.

 

 따라서 하나의 HTTP 메시지 body에 내용을 모두 담기 어려운 요즘의 웹 페이지 등을 전송할 때 HTTP 전송을 위한 TCP 연결은 유지하되, 각각의 HTTP 메시지에 대해서는 독립적인 단위로 처리한다.

반응형