HttpWebRequestElement.UseUnsafeHeaderParsing Property

Definition

Setting this property ignores validation errors that occur during HTTP parsing.

[System.Configuration.ConfigurationProperty("useUnsafeHeaderParsing", DefaultValue=false)]
public bool UseUnsafeHeaderParsing { get; set; }

Property Value

Boolean that indicates whether this property has been set.

Attributes

Remarks

When this property is set to false, the following validations are performed during HTTP parsing:

  • In end-of-line code, use CRLF; using CR or LF alone is not allowed.

  • Headers names should not have spaces in them.

  • If multiple status lines exist, all additional status lines are treated as malformed header name/value pairs.

  • The status line must have a status description, in addition to a status code.

  • Header names cannot have non-ASCII chars in them. This validation is performed whether this property is set to true or false.

When a protocol violation occurs, a WebException exception is thrown with the status set to ServerProtocolViolation. If the UseUnsafeHeaderParsing property is set to true, validation errors are ignored.

Setting this property to true has security implications, so it should only be done if backward compatibility with a server is required.

Applies to

Product Versions
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1