【WebAPI系列】http请求方法

转载地址: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请求头域列于如下。
【WebAPI系列】http请求方法_第1张图片

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 位数字组成, 表示响应的状态。
【WebAPI系列】http请求方法_第2张图片

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==?=

你可能感兴趣的:(MVC与Webapi)