Updates: Status: Started Cc: da...@chromium.org Comment #1 on issue 8440 by ero...@chromium.org: TODO: Check if 1xx needs to set message_body_length_ to 0. http://code.google.com/p/chromium/issues/detail?id=8440
Ok, so it looks like we *should* in fact be treating all 1xx the same as we currently treat 100. This is closer to the standard, and matches the behavior of firefox, ie, and safari. ================= There are only two 1xx status codes defined by HTTP/1.1: 100 -- Continue 101 -- Switching protocols Of these we only expect to get 100 (Continue). (We wouldn't expect to get 101 unless sending a "Negotiate" header, which we will never do). ================= I propose changing this block: if (headers->response_code() == 100) { ... next_state_ = STATE_READ_HEADERS; return OK; } To have a broader predicate: // For all 1xx, treat like a continue. if (headers->response_code() / 100 == 1) { ... next_state_ = STATE_READ_HEADERS; return OK; } ================= Here is an example response it affects: ================= HTTP/1.1 102 Fake Continue Server: Foobar Content-Type: text/plain Content-Length: 100 HTTP/1.1 200 OK Server: Foobar Content-Type: text/html <b style="color:red">Should be red!!</b> ================= In Chrome we will display a TEXT page reading: ================= HTTP/1.1 200 OK Server: Foobar Content-Type: text/html <b style="color:red">Should be red!!</b> ================= Whereas the other browsers (IE, Firefox, Safari) will instead display an HTML page reading: ================= Should be red!! -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings --~--~---------~--~----~------------~-------~--~----~ Automated mail from issue updates at http://crbug.com/ Subscription options: http://groups.google.com/group/chromium-bugs -~----------~----~----~----~------~----~------~--~---