comparison src/http/ngx_http_core_module.c @ 3573:5d9ff79eab6f stable-0.7

merge r3316, r3317, r3420, r3421, r3453: browsers related fixes: *) add MSIE padding for Chrome too *) disable keepalive for Safari: https://bugs.webkit.org/show_bug.cgi?id=5760 *) do not disable keepalive after POST requests for MSIE 7+
author Igor Sysoev <igor@sysoev.ru>
date Fri, 04 Jun 2010 17:47:04 +0000
parents b0fbe6ab9ebe
children 28ee756697b1
comparison
equal deleted inserted replaced
3572:b7c4d96cd61c 3573:5d9ff79eab6f
742 case NGX_HTTP_CONNECTION_KEEP_ALIVE: 742 case NGX_HTTP_CONNECTION_KEEP_ALIVE:
743 r->keepalive = 1; 743 r->keepalive = 1;
744 break; 744 break;
745 } 745 }
746 746
747 if (r->keepalive && r->headers_in.msie && r->method == NGX_HTTP_POST) { 747 if (r->keepalive) {
748 748
749 /* 749 if (r->headers_in.msie6) {
750 * MSIE may wait for some time if an response for 750 if (r->method == NGX_HTTP_POST) {
751 * a POST request was sent over a keepalive connection 751 /*
752 */ 752 * MSIE may wait for some time if an response for
753 753 * a POST request was sent over a keepalive connection
754 r->keepalive = 0; 754 */
755 r->keepalive = 0;
756 }
757
758 } else if (r->headers_in.safari) {
759 /*
760 * Safari may send a POST request to a closed keepalive
761 * connection and stalls for some time
762 */
763 r->keepalive = 0;
764 }
755 } 765 }
756 766
757 if (r->headers_in.content_length_n > 0) { 767 if (r->headers_in.content_length_n > 0) {
758 r->lingering_close = 1; 768 r->lingering_close = 1;
759 769