401、404等代码的意思

302 Move Temporarily(暂时移动)
请求的资源临时从不同的 URI响应请求 。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求 。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的 。。
如果这不是一个 GET 或者 HEAD 请求,那么浏览器禁止自动进行重定向,除非得到用户的确认,因为请求的条件可能因此发生变化 。
注意:虽然RFC 1945和RFC 2068规范不允许客户端在重定向时改变请求的方法,但是很多现存的浏览器将302响应视作为303响应,并且使用 GET 方式访问在 Location 中规定的 URI,而无视原先请求的方法 。状态码303和307被添加了进来,用以明确服务器期待客户端进行何种反应 。
303 See Other(查看其他)
对应当前请求的响应可以在另一个 URL 上被找到,而且客户端应当采用 GET 的方式访问那个资源 。这个方法的存在主要是为了允许由脚本激活的POST请求输出重定向到一个新的资源 。这个新的 URI 不是原始资源的替代引用 。同时,303响应禁止被缓存 。当然,第二个请求(重定向)可能被缓存 。
注意:许多 HTTP/1.1 版以前的浏览器不能正确理解303状态 。如果需要考虑与这些浏览器之间的互动,302状态码应该可以胜任,因为大多数的浏览器处理302响应时的方式恰恰就是上述规范要求客户端处理303响应时应当做的 。
304 Not Modified(未修改)
如果客户端发送了一个带条件的 GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态码 。304响应禁止包含消息体,因此始终以消息头后的第一个空行结尾 。
该响应必须包含以下的头信息:
Date,除非这个服务器没有时钟 。假如没有时钟的服务器也遵守这些规则,那么代理服务器以及客户端可以自行将 Date 字段添加到接收到的响应头中去(正如RFC 2068中规定的一样),缓存机制将会正常工作 。
ETag 和/或 Content-Location,假如同样的请求本应返回200响应 。
Expires, Cache-Control,和/或Vary,假如其值可能与之前相同变量的其他响应对应的值不同的话 。
假如本响应请求使用了强缓存验证,那么本次响应不应该包含其他实体头;否则(例如,某个带条件的 GET 请求使用了弱缓存验证),本次响应禁止包含其他实体头;这避免了缓存了的实体内容和更新了的实体头信息之间的不一致 。
假如某个304响应指明了当前某个实体没有缓存,那么缓存系统必须忽视这个响应,并且重复发送不包含限制条件的请求 。
假如接收到一个要求更新某个缓存条目的304响应,那么缓存系统必须更新整个条目以反映所有在响应中被更新的字段的值 。
305 Use Proxy(使用代理)
被请求的资源必须通过指定的代理才能被访问 。Location 域中将给出指定的代理所在的 URI 信息,接收者需要重复发送一个单独的请求,通过这个代理才能访问相应资源 。只有原始服务器才能建立305响应 。
注意:RFC 2068中没有明确305响应是为了重定向一个单独的请求,而且只能被原始服务器建立 。忽视这些限制可能导致严重的安全后果 。
306 Switch Proxy(交换机代理)
在最新版的规范中,306状态码已经不再被使用 。
307 Temporary Redirect(临时重定向)
请求的资源临时从不同的URI 响应请求 。
新的临时性的URI 应当在响应的 Location 域中返回 。除非这是一个HEAD 请求,否则响应的实体中应当包含指向新的URI 的超链接及简短说明 。因为部分浏览器不能识别307响应,因此需要添加上述必要信息以便用户能够理解并向新的 URI 发出访问请求 。


以上关于本文的内容,仅作参考!温馨提示:如遇专业性较强的问题(如:疾病、健康、理财等),还请咨询专业人士给予相关指导!

「辽宁龙网」www.liaoninglong.com小编还为您精选了以下内容,希望对您有所帮助: