2014-01-30 2 views
0

기본 질문 : 웹 서버에 브라우저를 연결하는 데 시간 제한 (시간 초과)이 있습니까?브라우저가 서버에 연결할 수있는 최대 시간 (또는 그 반대로)

예 : 일부 티켓 서비스는 대기자 명단 시스템을 제공하고 있습니다. 특정 티켓 구매 웹 사이트를 열면 기다리고있는 목록의 끝 부분에있는 손님들이 당신 앞에있는 티켓을 주문할 때까지 기다립니다. 이 시점에서 "대기중인 웹 사이트"가 표시됩니다. 그러나 대기자 명단 앞에서 서버가 "신호"를 보내야만 티켓을 주문할 수있는 공식을 볼 수 있습니다. 이 경우 내 개인적인 경험은 몇 분 (10? 15? 30?) 후에 일부 브라우저에서 서버에 대한 연결이 끊어지는 것입니다. 결과적으로, 당신은 티켓을 주문할 웹 사이트를 보지 못할 것이며, 하루 종일 "대기중인 웹 사이트"를 보게 될 것입니다.

답변

0

공용 네트워크를 통해 일반 사용자를 다룰 때 브라우저와 서버 간 연결을 유지하기 위해 0보다 긴 시간 제한을 사용할 수 없습니다.

수 없습니다.

HTTP 1.0은 브라우저에서 웹 서버에 요청을 보내도록 요청합니다. 웹 서버는 응답하고 즉시 연결을 닫습니다.

인기가 높아지고있는 HTTP 1.1은 브라우저가 웹 서버에 요청을 보내도록 요구합니다. 그런 다음 웹 서버가 응답하고 keepalive 시간을 지정합니다. 그러면 브라우저는 추가 요청 (예 : 페이지의 png 이미지)을 위해 웹 서버에 대한 연결을 다시 사용할 수 있습니다. 그러나 서버는 여전히 임의로 연결을 끊을 수 있습니다.

브라우저 항상 웹 서버에 대한 연결을 시작합니다. 서버 은 브라우저에 연결을 시작할 수 없습니다. 많은 브라우저가 네트워크 주소 변환을 수행하는 라우터 뒤에 있습니다.

모든 표준 경우 브라우저는 서버에 대한 연결을 시작해야합니다. 사용자의 브라우저에서 다시 시도하려면 AJAX 스타일의 브라우저 자바 스크립트 또는 http 새로 고침 태그를 웹 앱에서 사용해야합니다. 새로 고침에 대한 글을 보려면 여기를 참고하십시오. http://en.wikipedia.org/wiki/Meta_refresh

+0

감사합니다. 이 점에 대해 더 자세히 설명 할 수 있습니까? – BITS

+0

몇 마디를 추가했습니다. 이것은 복잡한 상황입니다. –

+0

자세한 답변을 주셔서 대단히 감사드립니다. 이것은 나를 위해 모든 것을 더 분명하게 만듭니다. 때로는 서비스 제공 업체가 "대기자 명단"에있는 동안 사용자에게 페이지를 새로 고침하지 말 것을 제안합니다. 이 제안에 대한 유일한 이유는 서버로드를 줄이는 것입니다. 맞습니까? 필자가 직접 웹 사이트를 새로 고치거나 새로 고침 태그/AJAX를 사용하면 내 관점에서 차이가 없습니다. – BITS