>  기사  >  웹 프론트엔드  >  HTTP 영구 연결 및 파이프라인

HTTP 영구 연결 및 파이프라인

yulia
yulia원래의
2018-09-08 17:45:002178검색

1. 지속적인 연결이란 무엇입니까? (살아남기 모드)
HTTP1.1은 기본 연결이 긴 연결을 유지하도록 규정합니다(HTTP 영구 연결, 영구 연결이라고도 번역됨). 데이터 전송이 완료된 후 TCP 연결이 끊어지지 않습니다(RST 패킷 없음). 전송되지 않고 4방향 핸드셰이크가 전송되지 않음) 대기합니다. 이 채널을 계속 사용하여 동일한 도메인 이름으로 데이터를 전송합니다. 그 반대는 짧은 연결입니다.

HTTP 버전 1.1은 영구 연결을 지원합니다. 버전 1.0은 이를 지원하지 않습니다.
비영구 연결과의 차이점:
영구 연결을 사용하면 연결을 다시 설정할 필요가 없이 클라이언트-서버 연결이 유효하게 유지됩니다. 연결 설정 및 종료 지연이 크게 줄어듭니다. HTTP 연결은 TCP 프로토콜을 기반으로 합니다. TCP 연결을 설정하려면 세 번의 핸드셰이크가 필요하고 TCP 연결을 닫으려면 네 번의 웨이브가 필요합니다. 이 모든 것에는 시간이 걸립니다.

2. 파이프라인이란? 파이프라인 메커니즘은 지속적인 연결을 통해 완료되어야 합니다. HTTP/1.1만 이 기술을 지원합니다. (HTTP/1.0은 지원하지 않습니다.)
영구 연결을 사용하는 경우 특정 연결 메시지 전달은
요청 1 -> 요청 2 -> 응답 2와 유사합니다.
파이프라인화: 특정 연결의 메시지는 다음과 같습니다.
요청 1 -> 요청 3 -> 응답 1 -> 응답 2 -> 응답 3

[참고]

a 영구 연결의 한 가지 단점은 요청과 응답이 순차적이라는 것입니다. 실행되면 요청 2는 요청 1에 대한 응답을 받은 후에만 전송되며 파이프라인은 다음 요청을 진행하기 위해 이전 요청의 응답을 기다릴 필요가 없습니다. 요청 전송을 병렬로 구현합니다.

b. GET 및 HEAD 요구 사항만 파이프라인할 수 있지만 POST는 제한됩니다.


c. 상대방(서버)이 반드시 지원하지 않을 수 있으므로 처음 연결을 생성할 때 파이프라인 메커니즘을 시작해서는 안 됩니다. HTTP/1.1 버전의 프로토콜.

d. HTTP1.1에서는 서버가 파이프라인 처리를 지원해야 하지만 서버가 응답을 파이프라인할 필요는 없으며 이제 많은 서버가 필요합니다. 에이전트에는 파이프라인 처리가 필요하지 않으며 지원이 좋지 않으며 최신 브라우저 Chrome 및 Firefox는 기본적으로 파이프라인 지원을 활성화하지 않습니다.

HTTP 영구 연결 및 파이프라인

위 내용은 HTTP 영구 연결 및 파이프라인의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.