A method for throttling by an intermediary a rate of requests for an object, the intermediary receiving requests between a client and a server , the method comprising: a) receiving , by an intermediary , a request from a client for an object of a server , the request identifying the object; b) identifying , by the intermediary, the object based on one or more user specified selection criteria , by matching a portion of the request with a user input or a user selection from a component within the user criteria ; c) identifying , by the intermediary , a policy for the object identified by the request, the policy specifying a mode of throttling of a plurality of modes of throttling , a rate threshold and a period of time for the rate threshold , wherein the plurality of modes comprises two or more of the following: bursty mode , smooth mode , connections mode and bandwidth mode , wherein the policy causes a rate throttler to select between different throttling modes on a per request basis responsive to receiving the request, wherein bursty mode allows transmission of any number of requests over the time period, smooth mode allows transmission of requests equal to or less than the rate threshold for the time period, connection mode limits a number of connections between the client and the intermediary based on the rate threshold, and bandwidth mode modifies the rate threshold based on a bandwidth between the client and the intermediary ; d) determining , by the rate throttler of the intermediary having its throttling mode set by the policy, whether the request for the object exceeds the rate threshold for the period of time based on the mode of throttling of the policy for the object; and e) one of allowing or blocking , by the rate throttler , the request for the object responsive to the determination. a) receiving , by an intermediary , a request from a client for an object of a server , the request identifying the object; b) identifying , by the intermediary, the object based on one or more user specified selection criteria , by matching a portion of the request with a user input or a user selection from a component within the user criteria ; c) identifying , by the intermediary , a policy for the object identified by the request, the policy specifying a mode of throttling of a plurality of modes of throttling , a rate threshold and a period of time for the rate threshold , wherein the plurality of modes comprises two or more of the following: bursty mode , smooth mode , connections mode and bandwidth mode , wherein the policy causes a rate throttler to select between different throttling modes on a per request basis responsive to receiving the request, wherein bursty mode allows transmission of any number of requests over the time period, smooth mode allows transmission of requests equal to or less than the rate threshold for the time period, connection mode limits a number of connections between the client and the intermediary based on the rate threshold, and bandwidth mode modifies the rate threshold based on a bandwidth between the client and the intermediary ; d) determining , by the rate throttler of the intermediary having its throttling mode set by the policy, whether the request for the object exceeds the rate threshold for the period of time based on the mode of throttling of the policy for the object; and e) one of allowing or blocking , by the rate throttler , the request for the object responsive to the determination. <EOS>