问题描述
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 请求成功且服务器已创建了新的资源。