2011-11-29 5 views
1

내가 그물코 예 org.jboss.netty.example.http.snoop 놀고 있었는데 내가 파이어 폭스 4 개 HttpRequestHandler 인스턴스의 생성 및 Internet Explorer로 이어지는 4 개 요청을 않는 것으로 나타났습니다 8/9 않습니다 2 개 HttpRequestHandler 인스턴스의 생성으로 이어지는 2 요청 .의 Netty ChannelUpstreamHandler 및 HTTP 파이프 라인

이것은 HTTP 1.1 파이프 라이닝 때문이라고 생각하지만, FireFox 용 network.http.pipelining.* 키와 IE 용 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings 레지스트리 항목을 변경 한 후에도 Netty는 같은 방식으로 작동합니다.

내 질문에이 문제가 발생했거나 정확하지 않거나 뭔가 누락되어 Netty가 후속 멱등 원이 요청을 삭제하도록 구성 할 수 있습니까? 아니면 결국 HttpRequestHandler에 의해 구현되어야합니까?

답변

1

FF가 요청하는 경로를 찾기 위해 경로를 인쇄해야합니다. 나는 그것이 스 누프 예제에 의해 보내지는 잘못된 포맷 때문에 여러 번 요청 된 favicon.ico (retry mechanism)이라고 확신한다.

편집. 나는 그것을 확인하고, 실제로 세 번 요청 파비콘입니다 : 나는 FF로 설정 수락-hreader와 파비콘을 요구하기 때문에이, FF의 버그라고 생각

Thread[New I/O server worker #1-3,5,main] - [id: 0x57c52e72, /0:0:0:0:0:0:0:1:63056 => /0:0:0:0:0:0:0:1:8080] RECEIVED: DefaultHttpRequest(chunked: false) GET/HTTP/1.1 Host: localhost:8080 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip, deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Connection: keep-alive 
Thread[New I/O server worker #1-3,5,main] - GET 
Thread[New I/O server worker #1-3,5,main] -/

Thread[New I/O server worker #1-3,5,main] - [id: 0x57c52e72, /0:0:0:0:0:0:0:1:63056 => /0:0:0:0:0:0:0:1:8080] RECEIVED: DefaultHttpRequest(chunked: false) GET /favicon.ico HTTP/1.1 Host: localhost:8080 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0 Accept: image/png,image/*;q=0.8,*/*;q=0.5 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip, deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Connection: keep-alive 
Thread[New I/O server worker #1-3,5,main] - GET 
Thread[New I/O server worker #1-3,5,main] - /favicon.ico 

Thread[New I/O server worker #1-3,5,main] - [id: 0x57c52e72, /0:0:0:0:0:0:0:1:63056 => /0:0:0:0:0:0:0:1:8080] RECEIVED: DefaultHttpRequest(chunked: false) GET /favicon.ico HTTP/1.1 Host: localhost:8080 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip, deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Connection: keep-alive 
Thread[New I/O server worker #1-3,5,main] - GET 
Thread[New I/O server worker #1-3,5,main] - /favicon.ico 

Thread[New I/O server worker #1-3,5,main] - [id: 0x57c52e72, /0:0:0:0:0:0:0:1:63056 => /0:0:0:0:0:0:0:1:8080] RECEIVED: DefaultHttpRequest(chunked: false) GET /favicon.ico HTTP/1.1 Host: localhost:8080 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip, deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Connection: keep-alive 
Thread[New I/O server worker #1-3,5,main] - GET 
Thread[New I/O server worker #1-3,5,main] - /favicon.ico 
+0

을 text/html과, 응용 프로그램/XHTML + xml, 마지막 두 요청의 application/xml. 누구에게 더 많은 정보가 있습니까? –

+0

감사합니다 - 결과를 확인하고 업데이트합니다. –

+0

Japer - 확인 됨; 이상하게도 FF는 favicon에 대해 3 번 묻고 있으며 Chrome과 IE는 하나의 favicon 요청에 만족합니다 :). –