当前位置:首页 > Web开发 > 正文

就是要清空当前文档内所有表单控件的内容. HTTP/206响应 最后一条会话返回了HTTP/206 “Partial C

2024-07-17 Web开发

HTTP的状态码有很多种,主要有1xx(姑且响应)、2xx(告成)、3xx(已重定向)、4xx(请求错误)以及5xx(处事器错误)五个大类,每个大类还对应一些具体的分类。平时我们接触对照多的是200、400、500等。

这里我们主要讨论一下状态码204,在HTTP RFC 2616中关于204的描述如下:

If the client is a user agent, it SHOULD NOT change its document view from that which caused the request to be sent. This response is primarily intended to allow input for actions to take place without causing a change to the user agent’s active document view, although any new or updated metainformation SHOULD be applied to the document currently in the user agent’s active view.

意思等同于请求执行告成,但是没有数据,浏览器不用刷新页面.也不用导向新的页面。如何理解这段话呢。还是通过例子来说明吧,假设页面上有个form,提交的url为http-204.htm,提交form,qq空间访问受限破解 ,正常情况下,页面会跳转到http-204.htm,但是如果http-204.htm的相应的状态码是204,此时页面就不会产生转跳,还是勾留在当前页面。此外对付a标签,如果链接的页面响应码为204,页面也不会产生跳转。

所以对付一些提交随处事器措置惩罚惩罚的数据,只需要返回是否告成的情况下,可以考虑使用状态码204(也就是XMLHttpRequest.status)来作为返回信息,从而省失多余的数据传输。

$.ajax({ type: "POST", beforeSend: function(xhr){xhr.setRequestHeader(‘__RequestVerificationAntiCSRFToken‘, $("#hidden-CSRFToken").val());}, url: $(this).data(‘targetUrl‘), cache: false, data:post_data, dataType:"json", async: true, error: function(jqXHR, error, errorThrown) { alert(jqXHR.status); }, success: function(data) { //... } });

上次我们讲了HTTP/304响应,今天我们继续讨论此外三种可能让Fiddler用户感想猜疑的请求或响应类型.

下面的截图中有三条Web会话,每一条都返回了差此外状态码,但都在HTTP/2xx范畴内:

HEAD请求要领

第一个请求返回了HTTP/200,但你应该注意到了,处事器并没有返回响应体.如果你在Inspectors选项卡中检察一下,就会发明客户端使用的是HEAD请求要领.HEAD要领允许客户端仅向处事器请求某个资源的响应头,而不要真正的下载该资源自己.处事器返回的响应头应该和客户端使用GET要领请求该资源时返回的请求头不异,比起GET要领,只是省略了响应体.

技术分享

从上图中可以看出,如果客户端使用GET而不是HEAD要领请求该资源,处事器就应该会返回6623字节巨细的响应体.还可以看出,该资源的类型为text/html以及它的编码为UTF-8.客户端可以使用HEAD请求来收集相关信息以确定如何操纵该资源.例如,在IE中,如果一个OBJECT元素缺少TYPE参数,浏览器就会发送一个HEAD请求,方针URL为这个OBJECT元素的SRC属性指定的URL.然后浏览器就能够按照响应中的Content-Type头知道这是哪种类型的OBJECT.

HTTP/204响应

会话列表中的第二条会话返回了HTTP/204响应.从Content-Length响应头可以看出,该响应没有响应体,状态码描述为“No Content”:

技术分享

你也许会有疑问:“返回一个没有响应体的HTTP/200响应不行吗?”

如果没有响应体,则在大大都场景下,这两种响应码完全等效,但有一种情况下,HTTP/204响应会让浏览器有差此外表示.这种情况就是当用户在浏览器窗口window或者frame/iframe框架中导航的时候.

如果导航到的URL返回了一个没有响应体的HTTP/200响应,则页面将会显示一个空白文档(就是一片白色).页面的URL地点也会酿成新指定的URL.

如果处事器返回的是一个HTTP/204响应,当前页面不会有任何变革,就仿佛根柢没有进行导航操纵一样.页面的URL地点也连结不乱.

HTTP/205响应码很少见,它类似于HTTP/204,除了页面保存在当前文档不乱以外,多了一步操纵,就是要清空当前文档内所有表单控件的内容.

HTTP/206响应

最后一条会话返回了HTTP/206 “Partial Content”响应.这种响应是在客户端表白本身只需要方针URL上的部分资源的时候返回的.这种情况经常产生在客户端继续请求一个未完成的下载的时候(凡是是当客户端加载一个体积较大的嵌入文件,好比视屏或PDF文件),或者是客户端测验考试实现带宽遏流的时候.

你可以通过Range请求头辨认出一个部分内容请求.该请求头表白了客户端需要请求资源的哪一部分:

技术分享

在上图的请求中,客户端报告处事器,它需要该视屏文件中从172,032到13,325,503字节范畴内的数据.

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/27340.html