HTTP

김태희·2020년 12월 7일
0
post-custom-banner

HTTP


기본적으로 TCP를 사용합니다. (80번 포트)

HTTP 서버는 과거의 클라이언트 요청 정보를 유지하지 않습니다. (stateless)

HTTP/1.0 vs HTTP/1.1


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를 보냅니다.

profile
Web Back-End (Spring, JPA, AWS)
post-custom-banner

0개의 댓글