Forum Discussion

Stefan_Magnus_L's avatar
Stefan_Magnus_L
Icon for Nimbostratus rankNimbostratus
Jan 30, 2014

Why does LTM convert a HTTP/1.1 request into a HTTP/1.0 request?

Hi,

 

According to our application server access logs, big ip has converted a lot of HTTP/1.1 requests (not all - for instance no POSTs) coming from web-browsers into HTTP/1.0 requests before forwarding them to the application server. Does anyone know why this is happening or how this can be controlled? BTW, we're not using OneConnect in this scenario.

 

  • Hi Stefan,

     

    This is expected behaviour: "When the Cache Setting feature (referred to as RAM Cache in BIG-IP versions prior to 11.0.0) is enabled on a virtual server, all server-side requests generated by that virtual server will use the HTTP/1.0 protocol. This also applies to server-side requests derived from an HTTP/1.1 client-side request; all HTTP/1.1 requests are rewritten to HTTP/1.0. A Connection: Keepalive header will be added to allow persistent server connections."

     

    http://support.f5.com/kb/en-us/solutions/public/10000/400/sol10480.html?sr=34761170

     

  • did you see this behaiour in a tcpdump, too? I would understand the other way (http 1.0 to http 1.1), if you use oneconnect. Are you running only ltm with a simple http profile?

     

    • Stefan_Magnus_L's avatar
      Stefan_Magnus_L
      Icon for Nimbostratus rankNimbostratus
      Unfortunately I haven't been able to run a tcpdump (as in I'm not root) but I debugged into the java vm in the application server, and looked at the bytes coming in over the socket. Clearly HTTP/1.0. Will perform tcpdump as soon as I get access. Only using a simple http profile + compression + caching. The funny thing is that requests from some user-agents, i.e. Dalvik/1.6.0 (Linux; U; Android 4.3; GT-N7100 Build/JSS15J), don't get converted to 1.0 requests.
  • did you see this behaiour in a tcpdump, too? I would understand the other way (http 1.0 to http 1.1), if you use oneconnect. Are you running only ltm with a simple http profile?

     

    • Stefan_Magnus_L's avatar
      Stefan_Magnus_L
      Icon for Nimbostratus rankNimbostratus
      Unfortunately I haven't been able to run a tcpdump (as in I'm not root) but I debugged into the java vm in the application server, and looked at the bytes coming in over the socket. Clearly HTTP/1.0. Will perform tcpdump as soon as I get access. Only using a simple http profile + compression + caching. The funny thing is that requests from some user-agents, i.e. Dalvik/1.6.0 (Linux; U; Android 4.3; GT-N7100 Build/JSS15J), don't get converted to 1.0 requests.
  • Night_67217's avatar
    Night_67217
    Historic F5 Account

    Hi Stefan,

     

    This is expected behaviour: "When the Cache Setting feature (referred to as RAM Cache in BIG-IP versions prior to 11.0.0) is enabled on a virtual server, all server-side requests generated by that virtual server will use the HTTP/1.0 protocol. This also applies to server-side requests derived from an HTTP/1.1 client-side request; all HTTP/1.1 requests are rewritten to HTTP/1.0. A Connection: Keepalive header will be added to allow persistent server connections."

     

    http://support.f5.com/kb/en-us/solutions/public/10000/400/sol10480.html?sr=34761170