问题:
不同的HTTP响应代码表示什么?
环境:运行任何AsyncOS版本的思科网络安全设备(WSA)
HTTP始终有一个客户端请求和一个服务器响应。服务器响应通过数字响应代码进行分类。响应代码指示HTTP请求成功和失败的原因。
有关HTTP响应代码的完整详细信息,请参阅RFC 2616 (HTTP),第10部分。
以下是您可能遇到的最常见响应代码的详细信息:
1xx代码:信息
100继续:通常在ICAP协议中显示。这是一个信息响应,告知客户端可以继续发送数据。关于ICAP服务(例如病毒扫描),服务器可能只希望看到前x个字节。当扫描完第一组字节并且未检测到病毒时,它会发送100 Continue以告知客户端发送其余对象。
2xx代码:成功
200 OK:最常见的响应代码。这表示请求成功而没有任何问题。
3xx代码:重定向
302 Found:这是临时重定向。指示客户端对Location:标头中指定的对象发出新请求。
304 Not Modified:这是对GIMS的响应(GET If-modified-since)。从字面意义上讲,这是一个标准HTTP GET,其中包括报头If-modified-since: <date>。此标头告诉服务器客户端在其本地缓存中有一个请求对象的副本,其中包括该对象的读取日期。如果自该日期以来对象已被修改,则服务器将以200 OK和对象的新副本进行响应。如果自获取日期以来对象未更改,服务器将发回304 Not Modified响应。
307临时重定向:出于任何目的,它与302具有相同的含义。如果发现更多详细信息,可以更新此文章。
4xx代码:客户端错误
400 Bad Request:这意味着HTTP请求中的内容未遵循正确的语法。可能的原因可能是同一行中有多个报头、报头中有空格、URI中没有HTTP/1.1等等。应参考RFC 2616以获得正确的语法。
401 Unauthorized:请求的对象需要身份验证才能被访问。401用于对目标Web服务器进行身份验证。在透明模式下使用思科网络安全设备(WSA)时,在代理上启用身份验证后,会将401发送回客户端。这是因为设备正在伪装自己,就好像它是OCS(源内容服务器)。
可用身份验证方法在www-authenticate: HTTP响应报头中指定。这将告知客户端此服务器是否要求NTLM、基本或其他身份验证方法。
403 Forbidden:客户端被拒绝访问请求的对象。 导致服务器拒绝访问对象的原因有很多。通常,服务器会在HTTP数据(HTML响应)中包含某种原因描述。
404 Not Found:服务器上不存在请求的对象。
407 Proxy Authentication Required:这与401相同,不同之处在于它专门用于对代理而不是OCS进行身份验证。仅当请求显式发送到代理时才发送此消息。将WSA用作透明代理时,无法将407发送到客户端,因为客户端不知道该代理存在。如果出现这种情况,客户端很可能会通过FIN或RST发送TCP套接字。
不是使用www-authenticate:报头指定可用的身份验证方法,而是使用proxy-authenticate:报头。
5xx代码:服务器错误
500内部服务器错误:通用服务器故障
502 Bad Gateway:当使用WSA作为代理时,您通常看到此错误消息,其中网关响应不正确。
503 Service Unavailable:这通常在OCS被过度保留时发送。稍后再次尝试请求应该会成功。
504 Gateway Timeout:如果WSA没有收到来自其网关的响应,则会发送504。