
클라이언트는 서버에게 Request를 보내고, 서버는 클라이언트에게 Response를 보낸다.
각기 다른 클라이언트들이 하나의 서버에 요청을 보낼 수 있는데, 모두 다른 방식으로 요청을 보내면 서버가 일일이 대응할 수가 없다. 따라서 HTTP라는 통신규약을 지정하여 모든 요청과 응답은 HTTP 양식에 맞게 보내야 한다.
HTTP 통신을 하기 위해서는 클라이언트와 서버가 연결이 되어있어야 한다. 이 커넥션을 유지하는 것 자체도 부담이고, 클라이언트가 늘어나서 커넥션의 개수가 많아지면 서버에 많은 부담이 된다.
따라서 HTTP는 통신을 한번 할 때 클라이언트와 서버를 연결하고, 통신이 끝나면 바로 연결을 끊는다. 이를 통해 서버 자원을 효율적으로 관리하고 여러 클라이언트의 요청에 대응한다.
한 클라이언트가 여러번의 요청을 보내도 커넥션은 계속 끊어졌다, 연결됐다를 반복한다. 이러한 HTTP의 특성을 Connectionless라고 한다.
(HTTP 1.1부터 일정 시간동안 계속 요청을 보내면 한번의 커넥션 연결로 처리하며 이를 지속 커넥션이라 한다.)
장점
단점