赞
踩
GET方法要求服务器将URL定位的资源放在响应报文的数据部分,发送给客户端。请求数据以地址的形式表现在请求行,? 后是请求的参数,&拼接参数,传递参数长度受浏览器限制
POST方法将请求参数封装在HTTP请求数据中,以名称/值的形式出现,可以传输大量数据,这样POST方式对传送的数据大小没有限制,而且也不会显示在URL中。POST方式请求行中不包含数据字符串,这些数据保存在“请求数据”部分,各数据之间也是使用‘&’符号隔开。
比如:POST http://www.forum.com/articles
的语义是在 http://www.forum.com/articles
下创建一篇帖子,HTTP响应中应包含帖子的创建状态以及帖子的URI。两次相同的POST请求会在服务器端创建两份资源,它们具有不同的URI。所以,POST方法不具备幂等性。
PUT所对应的URI是要创建或更新的资源本身。比如:PUT http://www.forum/articles/4231
的语义是创建或更新ID为4231的帖子。对同一URI进行多次PUT的副作用和一次PUT是相同的。因此,PUT方法具有幂等性。
POST方法和PUT方法请求最根本的区别是请求URI(Request-URI)的含义不同。POST请求里的URI 指示一个能处理请求实体的资源(译注:此资源可能是一段程序,如jsp 里的servlet) 。此资源可能是一个数据接收过程,一个网关(gateway,注:网关和代理的区别是:网关可以进行协议转换,而代理不能,只是起代理的作用,比如缓存服务器其实就是一个代理),或者一个单独接收注释的实体。对比而言,PUT方法请求里的URI标识请求里封装的实体一一用户代理知道URI 意指什么,并且服务器不能把此请求应用于其它资源(resource)。如果服务器期望请求被应用于一个不同的URI,那么它必须发送301(永久移动)响应;用户代理可以自己决定是否重定向请求。一个单独的资源可能会被许多不同的URI指定。如:一篇文章可能会有一个URI指定当前版本,而这个URI区别于这篇文章其它特殊版本的URI。这种情况下,对一个通用URI的PUT请求可能会导致其资源的其它URI请求被源服务器重定义。HTTP/1.1没有定义PUT方法对源服务器的状态影响。
常用的有HTTP/1.0和HTTP/1.1
Accpet
Referer
Cache-Control
Accept-Encoding
Host
User-Agent
参考链接:常见常用的网络状态码
Cache-Control
ETag
Location
Set-Cookie
HTTP请求头和响应头详解:https://www.jianshu.com/p/9a68281a3c84
post 和 put请求方法区别点简析:https://www.jianshu.com/p/e0b39b52672c
参考链接:http请求与响应全过程
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。