elaka / mod-spdy

Automatically exported from code.google.com/p/mod-spdy
0 stars 0 forks source link

SPDY sends incorrect HTTP server response reason (e.g., "304 OK," "301 OK,) #73

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
0.9.4.1-397

Apache/2.2.15 (Unix) CentOS 6.4 64bit

core_module (static)
 mpm_worker_module (static)
 http_module (static)
 so_module (static)
 auth_basic_module (shared)
 auth_digest_module (shared)
 authn_file_module (shared)
 authn_default_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 authz_owner_module (shared)
 authz_default_module (shared)
 include_module (shared)
 log_config_module (shared)
 env_module (shared)
 mime_magic_module (shared)
 expires_module (shared)
 deflate_module (shared)
 headers_module (shared)
 setenvif_module (shared)
 mime_module (shared)
 autoindex_module (shared)
 vhost_alias_module (shared)
 negotiation_module (shared)
 dir_module (shared)
 actions_module (shared)
 alias_module (shared)
 rewrite_module (shared)
 cache_module (shared)
 disk_cache_module (shared)
 version_module (shared)
 geoip_module (shared)
 security2_module (shared)
 unique_id_module (shared)
 fcgid_module (shared)
 ssl_module (shared)
 spdy_module (shared)
 filter_module (shared)

Not using any other Apache modules.

On Win7 64bit:
Firefox: 22 stable
Chrome: 30.0.1560.0 (Official Build 210468) canary

What steps will reproduce the problem?
1. Install mod-spdy-beta 
2. Refresh page with cached content

What is the expected result? What do you see instead?
The cached content should respond with "304 Not Modified," but instead responds 
with "304 OK." When SPDY is disabled, the correct headers are being sent. This 
only began since updating to the latest SPDY version.

Please provide any additional information below.
Content that is not served with SPDY sends the correct response reason. In 
addition to the incorrect status response reason from 304, it also sends an 
"OK" status response reason for 404, 500, 503, 301, 302, and every other server 
status that provides a reason. 

Original issue reported on code.google.com by w...@danemacmillan.com on 10 Jul 2013 at 1:07

GoogleCodeExporter commented 8 years ago
This was submitted before finishing. I have reproduced this in production, and 
dev environments. I've also found this problem on one other Web site out of my 
control. 

Original comment by w...@danemacmillan.com on 10 Jul 2013 at 1:16

GoogleCodeExporter commented 8 years ago
Same issue here. The problem seems to be here: 
http://code.google.com/p/mod-spdy/source/browse/trunk/src/mod_spdy/common/http_t
o_spdy_converter.cc#103 . Changing that line to headers_[spdy2 ? 
spdy::kSpdy2Status : spdy::kSpdy3Status] =
      status_code.as_string() + ' ' + status_phrase.as_string(); 
seems to solve the issue.

Original comment by aleks...@gmail.com on 29 Oct 2013 at 6:08