Description of response.raw_headers.tolerate(xxxx) enhancmet option.
search cancel

Description of response.raw_headers.tolerate(xxxx) enhancmet option.

book

Article ID: 275960

calendar_today

Updated On:

Products

SG-VA ISG Proxy

Issue/Introduction

Policy response.raw_headers.tolerate() is used for tolerate from response header when it's invalid or odd. 
Here are description with examples and what enhancements in 7.3 is.  

 

Environment

Prior to 6.7.5.13
After6.7.5.13 and 7.3.

Resolution

Prior to 6.7.5.13
There are a few options.
response.raw_headers.tolerate(none|continue|invalid_header)

• none -- indicates that no deviations are tolerated
• continue—indicates that the response header parsing should tolerate a continuation line(white space)prior to the start of the first header
• invalid_header—indicates that the response header parsing should tolerate invalid headers.

*invalid_header detects response header when 
HTTP version is invalid, such as HTTP/1. 200OK in response status line. Normally it's HTTP/1.1
or
Response header is invalid, such as header1xxxxx. It's not separated with ':' Normally it's header1: xxxxx.

After 6.7.5.13 or 7.3
There are few options added and invalid_header behavior has been changed
response.raw_headers.tolerate(none|continue|invalid_header|invalid_status|incorrect_content_length|invalid_version)
Our reference document is here link, but actually invalid_version is not documented.
response.raw_headers.tolerate()

• invalid_status -- Response header parsing should tolerate invalid status.such as HTTP/1.1 abc 200OK.
• invalid_header -- Response header is invalid, such as header1xxxxx. It's not separated with ':" Normally it's header1: xxxxx.
• invalid_version -- HTTP version is invalid, such as HTTP/1. 200OK in response status line. Normally it's HTTP/1.1
• incorrect_content_length -- Indicates that the response header parsing should tolerate responses that exceed the specified length.