2012-07-08 3 views
2

OpenLaszlo를 사용하여 DHTML로 애플리케이션을 작성했습니다. 응용 프로그램은 Chrome에서 완벽하게 작동하지만 Firefox에서는 문제가 발생합니다. 자바 스크립트 클라이언트는 Hibernate를 통해 데이터베이스를 쿼리 한 다음 XML 응답을 반환하는 Struts2 중간 계층에 HTTP POST 요청을 수행합니다. 응용 프로그램이 제작 중이므로 클라이언트 코드, 중간 계층 및 데이터베이스가 모두 내 데스크톱 컴퓨터에서 호스팅됩니다.파이어 폭스가 원치 않는 FIN ACK 패킷을 보내는 이유를 알아 내려고 시도했습니다.

크롬과 파이어 폭스에서 문자 그대로 응용 프로그램을 실행할 수 있으며 모든 것이 Chrome에서 완벽하게 작동하지만 Firefox에서 몇 가지 HTTP 요청 (매번 동일한 요청)이 실패합니다. POST 요청이 시작된 직후 HTTP 응답이나 오류 코드없이 POST 실패 및 응답 코드가 표시됩니다 (POST 요청 및 응답을보기 위해 Firebug를 사용 중입니다).

Wireshark로 트래픽을 살펴본 후 Firefox는 POST 요청을하고 서버에서 표준 ACK를받은 후 즉시 FIN ACK 패킷을 보내고 있다고 판단했습니다. > 서버는 ACK를 전송 - -> 서버가 XML 데이터를 전송 -> 클라이언트가 ACK를 전송 -> 서버가 보내는 HTTP/XML (200) 응답 -> 클라이언트가 보내는 클라이언트가 POST를 보냅니다

크롬에서

:

은 네트워크 트래픽은 다음과 같습니다 ACK

파이어 폭스에서

는 : 클라이언트가 POST를 전송 -> 서버는 ACK를 전송 -> 서버는 ACK를 전송 - -> 서버가 XML 데이터를 전송 -> 클라이언트는 사람이 있다면 나는 궁금 리셋

를 전송> 클라이언트는 FIN, ACK를 전송 전에 이런 종류의 행동을 목격했고, 그것을 해결하기 위해 내가 할 수있는 일을 알았을 것입니다.

답변

0

이 문제가 발생했습니다. Firefox는 새로운 네트워크 변경 기능과 관련된 FIN, ACK를 보냅니다. 참조 : https://hg.mozilla.org/mozilla-central/rev/0a066b7ffa46

우리는 이것을 확인하는데 많은 시간을 소비합니다. when firefox 38 sent FIN,ACK after server ack an http get from firefox?

이에 관심있는 사람들을 위해, 추적하십시오 : 나는 또한 유래에 게시물을 bugzilla.mozilla.org/show_bug.cgi?id=1245059 해결 솔루션은 network.http.network이 변경된 "로 설정하는 것입니다. 시간 초과 "설정이 더 커졌습니다. 자세한 내용은보고 된 Firefox 버그를 확인하십시오.

관련 문제