기본적으로 TCP를 사용합니다. (80번 포트)
HTTP 서버는 과거의 클라이언트 요청 정보를 유지하지 않습니다. (stateless)
HTTP/1.0은 비지속 HTTP입니다. 한 개의 TCP 연결에 한 개의 객체만 보낸 후, 연결이 끊깁니다. 서로 연관된 객체가 5개라면, 5번의 TCP연결을 통해 5개의 객체를 각각 받아야 합니다. (GET, POST, HEAD)
HTTP/1.1은 기본적으로 지속 HTTP입니다. 클라이언트와 서버간에 TCP연결이 유지되고, 이 한 개의 TCP 연결에 여러 개의 객체를 보낼 수 있습니다. (PUT, DELETE 추가)
파이프라이닝을 하지 않았을 경우, response를 수신한 후에 다시 request를 보냅니다. 하나 요청하고 응답을 받으면, 다음 요청을 하고, 응답을 받으면 그 다음 요청을 하고... 이런 방식입니다.
하지만 파이프라이닝을 한다면(HTTP/1.1 기본설정), 참조객체에 대한 정보를 읽는 순간 즉시 관련 request들을 동시에 모두 보냅니다. 요청에 대한 응답이 온 후에야 다음 요청을 보내는 것이 아니고, 필요한 참조객체 정보를 읽는 순간 바로 request를 보냅니다.