Closed Bug 310114 Opened 19 years ago Closed 19 years ago

Firefox pipelines requests to HTTP/1.0 servers

Categories

(Core :: Networking: HTTP, defect)

1.7 Branch
defect
Not set
minor

Tracking

()

RESOLVED INVALID

People

(Reporter: dj, Assigned: darin.moz)

Details

User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; en-GB; rv:1.7.12) Gecko/20050922 Firefox/1.0.7 (Ubuntu package 1.0.7)
Build Identifier: Mozilla/5.0 (X11; U; Linux x86_64; en-GB; rv:1.7.12) Gecko/20050922 Firefox/1.0.7 (Ubuntu package 1.0.7)

As I understand it, HTTP pipelining wasn't implemented until HTTP/1.1 so
browsers shouldn't pipeline requests when a HTTP/1.0 connection has been negotiated.

I have access to a web server which only supports HTTP/1.0. If I access it with
pipelining enabled the page is a mess: images are mixed up and so on. If I
disable pipelining I can access it without problems.

Reproducible: Always

Steps to Reproduce:
1. View a site on a web server which doesn't support HTTP/1.1.
Actual Results:  
Pages aren't rendered properly, clearly as a result of the pipelining.

Expected Results:  
Requests to the server should not be pipelined; the page should be rendered
correctly.
Assignee: nobody → darin
Component: General → Networking: HTTP
Product: Firefox → Core
QA Contact: general → networking.http
Version: unspecified → 1.7 Branch
Hmm... This is very odd.  We disable pipelining when the server responds with
HTTP/1.0.  We even catch the case where a server switches from HTTP/1.1 to
HTTP/1.0.  Do you happen to have packet traces that you can share with us?
Or, if not, then another option would be to capture a Firefox HTTP log for us.

In a DOS box, set the following environment variables before launching Firefox:

C:\> set NSPR_LOG_MODULES=nsHttp:5,nsSocketTransport:5
C:\> set NSPR_LOG_FILE=C:\log.txt
C:\> firefox.exe
I forgot to mention.  After launching Firefox, reproduce the testcase, and then
quit.  Next, upload C:\log.txt to this bug report using the "Create a New
Attachment" link above.  Thanks!
Sorry, it seems that I was wrong. Having followed your instructions I can see
that the connection is in fact being negotiated as HTTP/1.1 and the server is
simply broken.

With the other browser I was testing with it was always negotiating with the
server I was testing with as HTTP/1.0 for some reason (the browser does support
HTTP/1.1 and negotiates as this with other servers), but with other browsers it
negotiates as HTTP/1.1.

My apologies for wasting your time. Closing this bug as INVALID.
Status: UNCONFIRMED → RESOLVED
Closed: 19 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.