Forum Discussion

Matt_Breedlove_'s avatar
Matt_Breedlove_
Icon for Nimbostratus rankNimbostratus
Aug 01, 2011

Nullifying a particular GET request inside a TCP connection

Situation is a single tcp connection from one client to one server using a VS. Client makes multiple GET requests to the VS using the same tcp connection.

 

 

One of those GET requests I would like to nullify meaning that the client makes the GET request along with many others, but when the one to nullify comes in the response given back to the client lets them move on with page rendering as quickly as possible.

 

 

I don't think discard/reject will work in the http_request event as it will just kill the whole tcp connection and all the good get requests using that connection. Dont want to involve the actual servers by using a dummy payload to redirect or send back from the server and don't want to store any actual content data on the LTM

 

 

What about just returning status==200 with no actual payload when the VS sees the GET request to nullify...is that the right way to do this? Will the browser just move on rendering page elements, making othe get requests, etc or will it spend extra milliseconds dealing with a 200 response with no data?

 

 

Most importantly wanting to prevent page rendering time from being impacted

 

 

Thanks

 

M

 

  • Its all in the details.... in this case /favicon.ico is used for http://www.chami.com/tips/internet/110599I.html

     

    Since this is entirely optional and not required to render the page it should be perfectly safe to use HTTP::respond 404

     

     

    when HTTP_REQUEST {

     

    if { [HTTP::uri] equals {/favicon.ico} } { HTTP::respond 404 }

     

    }

     

     

    Try it and see how it goes.

     

     

     

3 Replies

  • The problem is the type of traffic which it is requesting will determine the response to provide. For example with images, if the response is not the same size image as the original then you may mangle the display of the rendered html page. It would help if you could provide information on the type of object GET is calling. Image? css? html?
  • Sure, but when the GET request is made, the client is unaware of the size of what a fulfilled response would be. In fact, it could be a totally bogus request. Its not that I want to modify the content of a real server response, its that I want the GET request to go away/dissolve and not even let it get to the server behind the VS. In this case, the request is for /favicon.ico...which actually is a bogus request in that this is not provided by design on the servers, yet the http clients are asking for this in the hopes it is there, which it is not so we just want to nullify the request and move one with page rendering. If we could we would just prevent the client from even making that GET request in the first place

     

     

    Thanks

     

    M

     

  • Its all in the details.... in this case /favicon.ico is used for http://www.chami.com/tips/internet/110599I.html

     

    Since this is entirely optional and not required to render the page it should be perfectly safe to use HTTP::respond 404

     

     

    when HTTP_REQUEST {

     

    if { [HTTP::uri] equals {/favicon.ico} } { HTTP::respond 404 }

     

    }

     

     

    Try it and see how it goes.