strongarm_46960
Feb 27, 2009Nimbostratus
304 Status responses bug discovered
Today I reported a new bug in BIG-IP ASM Version 9.4.6 401.0, for RAM Cache and 304 Status responses for requests without IMS headers. I thought this should have been fixed under CR62309, its returned again.
This bug manifest itself by the LTM sending a HTTP 304 Status Response code to any browsers without a If-Modified-Since request header, which inturn affects all my LTM cached objects, thus affects my user experience, not rendering js, css, images etc.
I have a written an iRule as a workaround to change the 304 response code to 200, any suggestion on improving the iRule would be invaluable until F5 releases a fix.
when HTTP_REQUEST {
if {[HTTP::header exists "If-Modified-Since"] } {
set ims 1
if { $::debug>=1 } { log local0. "Bingo found an If-Modified-Since from User" }
} elseif { ![HTTP::header exists "If-Modified-Since"] } {
set ims 0
}
}
when HTTP_REQUEST_SEND {
TCP::collect 12
}
when SERVER_DATA {
if { [findstr [TCP::payload 12] "304"] == "304" and [info exists ims] and $ims ==0} {
TCP::payload replace 9 3 "200"
}
}
Thanks
Jeremy.