有关http状态码的疑问

问题描述

http 中有几个方法。例如 还有GET、OPTIONS、HAED、POST、PUT、DELETE、TRACE、CONNECT等方法我们最常用的是GET,POST,PUT我想问的是其他几个方法什么用呢?今天为了定位程序,通过wireshark抓包,第一次发现了delete 方法感觉上 delete 方法是删除服务器上的一个 文档(我这边场景是这样的)不知这个delete 还能delete别的什么东东另外还有状态码文档上写“它分四个过程,在HTTP协议中,服务端是指提供HTTP服务的部分,客户端是指你使用的浏览器或者下载工具等等。在通讯时,由客户端发出请求连接,服务端建立连接;然后,客户端发出HTTP请求(Request),服务端返回响应信息(Respond),由此完成一个HTTP操作。HTTP协议状态码表示的意思   1××  保留   2××  表示请求成功地接收   3××  为完成请求客户需进一步细化请求   4××  客户错误   5××  服务器错误 1xx-信息提示 这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个1xx响应。 100-继续。 101-切换协议。 2xx-成功 这类状态代码表明服务器成功地接受了客户端请求。 200-确定。客户端请求已成功。 201-已创建。 202-已接受。 203-非权威性信息。 204-无内容。 205-重置内容。 206-部分内容。 3xx-重定向 客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求。 301-对象已永久移走,即永久重定向。 302-对象已临时移动。 304-未修改。 307-临时重定向。 4xx-客户端错误 发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。400-错误的请求。 401-访问被拒绝。IIS定义了许多不同的401错误,它们指明更为具体的错误原因。这些具体的错误代码在浏览器中显示,但不在IIS日志中显示: 401.1-登录失败。”我这里主要问下201这个状态吗? 已创建,创建什么呢? 问题补充:“201 Created 通常用来表示请求的资源不存在,但是已经被创建了”这个确实比较准确我把我现在的抓包也贴出来,请大家分析一下在这个例子中“HTTP/1.1 201 Created”表示xml doc被创建了但是那位大虾还能专门解释一下Authorization的场景吗?PUT http://125.247.12.244:18090/services/public-group/users/sip:groupuri@uc1.UKBank.cn/groupdoc.xml HTTP/1.1If-None-Match: * X-3GPP-Intended-Identity: "sip:+123456789@uc1.UKBank.cn"Content-Type:application/public-group+xmlContent-Length: 772Host:125.247.12.244Authorization: Digest username="sip:+123456789@uc1.UKBank.cn", realm="125.247.12.244@sip:+123456789@uc1.UKBank.cn", nonce="c1c69f622939eba2d8461fa06eb1a9b5", uri="http://125.247.12.244:18090/services/public-group/users/sip:groupuri@uc1.UKBank.cn/groupdoc.xml", cnonce="a77891c6c3358aff5ed973ffd7ad2116", nc=00000001, qop=auth-int, response="190ec42690868500a9fc6324c487ada9"<?xml version="1.0" encoding="UTF-8"?><public-group xmlns="com:huawei:public-group" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><list name="Mary" uri="sip:groupuri@uc1.UKBank.cn" max="50"><entry uri="sip:+123456789@uc1.UKBank.cn" owner="true" status="active"><display-name>Mike</display-name><info/></entry></list><meta-data><creator>sip:+123456789@uc1.UKBank.cn</creator><identifier>/services/public-group/users/sip:groupuri@uc1.UKBank.cn/groupdoc</identifier><timestamp>2005-02-28T23:30:00Z</timestamp><duration>0</duration><visibility>all</visibility><need-permit>true</need-permit><groupno>groupdoc</groupno><groupdesc>Mary</groupdesc><groupcall>Mary</groupcall></meta-data></public-group>HTTP/1.1 201 CreatedServer: XDM-serv/OMA1.0Date: Tue, 10 Aug 2010 12:05:08 GMTConnection: closeEtag: "tRBzd"Authentication-Info: nextnonce="3da16a480df0c065be3cd557bc71a3b8"Content-Length: 0

解决方案

201 Created 通常用来表示请求的资源不存在,但是已经被创建了。一般可以用于一些发布协议,如 Atom Publishing Protocol 等,你在使用 Atom 协议去发布一篇 blog 时,服务端可能会返回一个 201 Created 的状态码,表示你发送的请求已经被接受了,并且你的文章也已经成功创建了。如果服务端要返回一个 201 Created 状态码,那么同时也应该在响应体头部的 Location 字段中指出新创建资源的位置,例如如果是发布一篇 blog,那么服务端在返回 201 状态码的时候,同时在 Location 字段中指出这篇新的 blog 的 URI 是什么,这样客户端可以根据这个 URI 立即去访问这篇 blog。
解决方案二:
GET 请求获取Request-URI所标识的资源POST 在Request-URI所标识的资源后附加新的数据HEAD 请求获取由Request-URI所标识的资源的响应消息报头PUT 请求服务器存储一个资源,并用Request-URI作为其标识DELETE 请求服务器删除Request-URI所标识的资源TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断CONNECT 保留将来使用OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求
解决方案三:
201 请求成功且服务器已创建了新的资源。
解决方案四:
201 请求成功且服务器已创建了新的资源。

时间: 2024-10-30 04:18:19

有关http状态码的疑问的相关文章

探讨Ajax中有关readyState(状态值)和status(状态码)的问题_AJAX相关

先看下面一段代码,然后给大家详细介绍,Ajax中有关readyState(状态值)和status(状态码)的问题,具体内容如下所示: var getXmlHttpRequest = function () { try{ //主流浏览器提供了XMLHttpRequest对象 return new XMLHttpRequest(); }catch(e){ //低版本的IE浏览器没有提供XMLHttpRequest对象,IE6以下 //所以必须使用IE浏览器的特定实现ActiveXObject ret

探讨Ajax中有关readyState(状态值)和status(状态码)的问题

先看下面一段代码,然后给大家详细介绍,Ajax中有关readyState(状态值)和status(状态码)的问题,具体内容如下所示: var getXmlHttpRequest = function () { try{ //主流浏览器提供了XMLHttpRequest对象 return new XMLHttpRequest(); }catch(e){ //低版本的IE浏览器没有提供XMLHttpRequest对象,IE6以下 //所以必须使用IE浏览器的特定实现ActiveXObject ret

HTTP状态码集

1xx消息 这一类型的状态码,代表请求已被接受,需要继续处理.这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束.由于HTTP/1.0协议中没有定义任何1xx状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送1xx响应. 这些状态码代表的响应都是信息性的,标示客户应该采取的其他行动. 100 Continue 客户端应当继续发送请求.这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝.客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个

HTTP常见状态码 200 301 302 404 500

HTTP状态码(HTTP Status Code) 一些常见的状态码为: 一.1开头 1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码.代码 说明 100 (继续) 请求者应当继续提出请求. 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分. 101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换. 二.2开头 2xx (成功)表示成功处理了请求的状态代码.代码 说明 200 (成功) 服务器已成功处理了请求. 通常,这表示服务器提供了请求的网页. 2

HTTP状态码解析

1 状态码 含义 100 客户端应当继续发送请求.这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝.客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应.服务器必须在请求完成后向客户端发送一个最终响应. 101 服务器已经理解了客户端的请求,并将通过Upgrade 消息头通知客户端采用不同的协议来完成这个请求.在发送完这个响应最后的空行后,服务器将会切换到在Upgrade 消息头中定义的那些协议. 只有在切换新的协议更有好处的时候才应该采取类似措施.例如,切

HTTP协议返回状态码大全

2014年腾讯招聘题中有这样一道题  浏览器访问某页面,HTTP协议返回状态码为403时表示:(B) A 找不到该页面 B 禁止访问 C 内部服务器访问 D 服务器繁忙 处于兴趣,网络搜集了状态返回码大全,属于计算机网络的知识[都说了是搜集的,非原创] HTTP返回状态代码 当用户试图通过HTTP或FTP协议访问一台运行主机上的内容时,Web服务器返回一个表示该请求的状态的数字代码.该状态代码记录在服务器日志中,同时也可能在 Web 浏览器或 FTP客户端显示.也就是我们打开页面发生错误时浏览器

asp.net教程:HTTP状态码200,301,302

跳转非常常用,在哪里都一样,这里的一些说明和用法也如此,不止适用于asp.net,其他语言也会用得到. 跳转非常常用,在哪里都一样,这里的一些说明和用法也如此,不止适用于asp.net,其他语言也会用得到.跳转的目的本来很简单,就是当用户或系统需要时从一个页面转向另一个页面,但自从有了各种各样的需求,还有那个什么SEO的东西之后,跳转被搞得极其复杂 跳转时的HTTP的状态码一般为200,301,302中的一个,下面先列出各状态码出现的情况,然后再解释各状态码有什么不同: 状态码200的跳转: 1

网站状态码 站长不可以忽略的细节

Http请求的状态码由于比较隐蔽,所以很容易被站长忽略,但如果状态码使用不当往往会对网站产生很大的影响,下面以 深圳分类信息网为例来说明一下比较重要的几种状态码: 1. 200 正常情况下请求一个网址都会返回200状态码,说明请求网页成功,对于搜索引擎来讲,只要看到200状态码,就会认为该网址正常,是收录的必要条件. 2. 301 永久重定向.我们经常碰到这样的情况,比如要更换域名,那么老域名的所有网址都要转向到新域名对应的网址,这个时候就必须通过301永久重定向到新的域名,意思是告诉搜索引擎,

百度快照不更新与HTTP 304状态码

前不久百度官方发表了一篇关于百度快照的说明,大体的解释了百度快照更新与倒退原因,并直接指出"网站快照与网站权重没有任何关系". 由于SEO基础知识的普及度不够,在交换友情链接的时候,还是有很多人拿网站快照作为主要参考标准之一,即使网站排名靠前.PR高,在把百度官方声明发给对方看,对方也很无奈的来了句上边领导要求没办法. 网站百度快照不更新与隔天更新 观察一些企业网站,发现关键词排名差不多的网站,同样是网站内容不更新,但是有的百度快照一直是隔天,有的就固定停在了某一天.   就此问题,笔