转载地址:http://www.cnblogs.com/wangjiming/p/8359181.html
2、http的请求方法
2.1Get
(1)一般由于获取查询资源,对应DB中的Select操作,为http请求常用方法 ;(2)该操作对系统来说,是安全的,因为其只查询而不修改数据;
(3)冥等的,对同一URL多次请求得到的结果应该是相同的;(4)参数在URL中传递,而非Rquest-Body中传递;
(5)有长度限制,如IE : 2803 ;Firefox:65536 ;Chrome:8182 ; Safari:80000 ; Opera:190000 (6)不安全,因为参数暴露在url中
2.2.Post
(1)一般用于向系统中更新数据,对应DB中的Update操作,为http请求常用方法;(2)参数在Requet-Body中传递 ;
(3)相比较Get,较为安全
2.3.Put
(1)一般用于向系统中插入数据(当然,其功能Post也能实现,与Post有很多相似之处),对应DB中的Insert操作;
(2)传输内容放在Request-Body中;
(3)不安全,不带验证机制,故一般不使用该方法;
2.4.Delete
(1)一般用于向系统中删除数据,对应DB中的Delete操作;
(2)不带验证机制,故不安全;
2.5.Head
(1) 用法与Get一样,只不过Head只返回Http-Responce头部信息;
(2)由于Head只返回头部信息(相对于Get,轻量级),故一般被用于确认URI的有效性,资源更新的日期时间等;
2.6.Patch
(1)部分文档更改;
2.7.Trace
(1)追踪路径,如追踪一个资源请求中间所经过的代理;(2)回显服务器收到的请求,主要用于测试或诊断;
2.8.Copy
(1)拷贝指定资源到目标位置;
2.9.Options
(1)一般用来询问URI支持的方法;(2)查询服务器的性能
2.10.Link
(1)建立连接关系;
2.11.UnLink
(1)断开链接关系
2.12.Purge
(1)清除;
2.13.PropFind
(1)查看属性
2.14.View
(1)查看
2.15.Connect
(1)隧道协议连接代理
2.16.Move
(1)将服务器资源移动到目标位置;
2.17.Wrapped
(1)允许客户端发送封装过的请求;
2.18.Extension-Method
(1)基于不变协议的前提下,可增加其他方法;
2.19.Lock
(1)加锁;
2.20.UnLock
(1)解锁;
3.请求头
现将常用的http请求头域列于如下。
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding:gzip, deflate, br
Accept-Language:zh-CN,zh;q=0.9
Cache-Control:max-age=0
Connection:keep-alive
Host:localhost:2172
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36
(二)http响应
1.http响应一般由三部分构成:<状态行><响应头><响应体>;
2.状态行
2.1 状态行构成
状态行一般由三个部分构成:<协议及其版本><状态码><描述>,
HTTP/1.1 200 OK;
2.2 状态代码和常见状态码
状态代码由 3 位数字组成, 表示响应的状态。
3.响应头
关于响应头,与请求头原理差不多,这里就不讲解了。
Cache-Control:no-cache
Content-Length:123
Content-Type:application/xml; charset=utf-8
Date:Sat, 27 Jan 2018 09:54:22 GMT
Expires:-1
Pragma:no-cache
Server:Microsoft-IIS/10.0
X-AspNet-Version:4.0.30319
X-Powered-By:ASP.NET
X-SourceFiles:=?UTF-8?B?QzpcVXNlcnNcQWxhbl9iZWlqaW5nXHNvdXJjZVxyZXBvc1xIdHRwRGVtb1xIdHRwRGVtb1xhcGlcRGVmYXVsdFxHZXRVc2VySW5mbw==?=