2010-07-17 3 views
0

인 HTTP 연결을 닫는 데 필요한 조건은 무엇입니까?HTTP 연결을 종료하는 데 필요한 조건은 무엇입니까?

+2

HTTP는 상태 비 저장입니다. HTTP 연결과 같은 것은 없습니다. 해당 TCP 연결 만 닫을 수 있습니다. – Gumbo

+0

"HTTP 연결"이라는 용어도 모르고 있었는데'http : // stackoverflow.com/questions/3270414/php-buck-help-post-php-shared-caching-script-'에서 발생했습니다. – Starx

답변

10

HTTP는 "연결"을 갖는 프로토콜 유형이 아닙니다. 그것은 "무국적"이라고 부르는 것입니다. 즉, 각 요청은 다른 모든 요청과 구분됩니다. 그래서 우리는 세션 쿠키와 같은 것들을 가지고 있습니다. 사람들은 정보를 요청간에 이월되도록 해킹해야했습니다.

이제 별도의 HTTP 1.1을 사용하면 클라이언트가 동일한 TCP/IP 연결을 통해 여러 요청을 할 수 있습니다 (HTTP 서버에 대한 연결이지만 TCP의 다른 모든 수준에 있음)./IP 스택). 요청은 여전히 ​​분리되어 있지만 새 네트워크 연결을 열 필요는 없습니다. 네트워크 연결을 열면 비용이 많이 들기 때문에 효율성이 약간 향상됩니다.

이 기능을 활용하려면 요청 및 응답에서 헤더를 살펴보십시오. 요청의 HTTP 버전이 1.1 미만이거나 Connection: close 인 헤더가 있으면 현재 요청이 처리 된 후 연결이 끊어집니다. 그렇지 않으면 일단 지워지면 (일반적으로 이전 요청의 모든 데이터를 읽음으로써) 다시 사용할 수 있습니다.

관련 문제