Index: server/common/patches/httpd-2.2.x-304.patch
===================================================================
--- server/common/patches/httpd-2.2.x-304.patch	(revision 1035)
+++ server/common/patches/httpd-2.2.x-304.patch	(revision 1035)
@@ -0,0 +1,14 @@
+--- httpd-2.2.10/server/util_script.c.orig	2006-09-15 09:19:25.000000000 -0400
++++ httpd-2.2.10/server/util_script.c	2009-03-28 14:33:17.000000000 -0400
+@@ -482,6 +482,11 @@
+             if ((cgi_status == HTTP_UNSET) && (r->method_number == M_GET)) {
+                 cond_status = ap_meets_conditions(r);
+             }
++            else if ((cgi_status == HTTP_NO_CONTENT) ||
++                     (cgi_status == HTTP_NOT_MODIFIED) ||
++                     ap_is_HTTP_INFO(cgi_status)) {
++                r->header_only = 1; /* discard any body */
++            }
+             apr_table_overlap(r->err_headers_out, merge,
+                 APR_OVERLAP_TABLES_MERGE);
+             if (!apr_is_empty_table(cookie_table)) {
Index: server/common/patches/php-scripts-304.patch
===================================================================
--- server/common/patches/php-scripts-304.patch	(revision 1035)
+++ server/common/patches/php-scripts-304.patch	(revision 1035)
@@ -0,0 +1,11 @@
+--- php-5.2.8/ext/zlib/zlib.c.orig	2008-08-01 22:36:59.000000000 -0400
++++ php-5.2.8/ext/zlib/zlib.c	2009-03-28 14:52:43.000000000 -0400
+@@ -979,7 +979,7 @@
+ {
+ 	zend_bool do_start, do_end;
+ 
+-	if (!ZLIBG(output_compression)) {
++	if (!ZLIBG(output_compression) || SG(sapi_headers).http_response_code == 204 || SG(sapi_headers).http_response_code == 304) {
+ 		*handled_output = NULL;
+ 	} else {
+ 		do_start = (mode & PHP_OUTPUT_HANDLER_START ? 1 : 0);
