Incorrect forcing from HTTP/1.0 request to HTTP/1.1 response
| Bug #42779 | Incorrect forcing from HTTP/1.0 request to HTTP/1.1 response | ||||
|---|---|---|---|---|---|
| Submitted: | 2007-09-27 16:40 UTC | Modified: | 2008-11-12 19:07 UTC | ||
| From: | aya at eh dot org | Assigned: | iliaa (profile) | ||
| Status: | Closed | Package: | Apache2 related | ||
| PHP Version: | 5.2.1 | OS: | * | ||
| Private report: | No | CVE-ID: | None | ||
[2007-09-27 16:40 UTC] aya at eh dot org
Description: ------------ There seems to have been a change in the 'Connection' output header for HTTP/1.0 requests somewhere between PHP v5.2.0 and PHP v5.2.3. IIRC, according to the relevant RFCs, When processing an HTTP/1.0 request, the server should respond with an HTTP/1.1 response line if it supports HTTP/1.1, but the entity headers should be compatible with HTTP/1.0. A simple "GET / HTTP/1.0" to a PHP page in v5.2.0 returns... HTTP/1.1 200 OK Connection: close ...other stuff... ...and then closes the connections as soon as the entity has been sent. However, the same request in v5.2.3 returns... HTTP/1.1 200 OK ...other stuff... ...and then waits for another request, without sending a "Connection: keep-alive" header. This is the correct behaviour for an HTTP/1.1 request, but not an HTTP/1.0 request. In practise, this change prevents apachebench from working correctly against PHP scripts.
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2007-09-28 14:58 UTC] aya at eh dot org
[2008-01-16 15:51 UTC] iliaa@php.net