🌐 HTTP请求方法

HTTP1.0定义了三种请求方法:GET、POST和HEAD方法;
HTTP1.1新增了五种请求方法:OPTION、PUT、DELETE、TRACE和CONNECT方法;

  • GET 方法:仅用作数据的读取,请求参数以query的形式附加
  • POST 方法:向指定资源提交数据进行处理请求(例如提交表单或上传文件)。数据被包含在请求体中。POST请求可能会创建新资源或修改现有资源,请求参数以body的形式传递。
  • HEAD 方法:类似于GET请求,但是只请求页面的首部、不请求页面内容。它允许我们单纯获取服务器的响应头信息。
  • PUT 方法:PUT 在能力上和 POST 类似,区别在于 PUT 的 URI 指向是具体的某个资源,而不能指向资源集合。从客户端向服务器传送的数据取代指定的文档的内容。同时 PUT 对资源的修改是幂等的。
  • DELETE方法:请求服务器删除指定的资源
  • OPTIONS方法:用于获取指定服务能够支持的通信选项,允许客户端查看服务器的性能。
  • CONNECT方法:HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
  • TRACE方法:回显服务器收到的请求,主要用于测试或诊断。

与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。
如下情况则须使用POST方式:
Ø 无法使用缓存文件(更新服务器上的文件或数据库)
Ø向服务器发送大量数据(POST 没有数据量限制)
Ø 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

HTML标准中对HTTP协议的用法的约定

GET

  1. 用于获取数据。
  2. 使用URL或Cookie传参。(会将参数追加到URL后面)
  3. GET提交的数据大小有限制(因为浏览器对URL的长度有限制)
    使用GET请求经常会发生的一个错误,就是查询字符串的格式有问题.查询字符串中每个参数的名称和值都必须使用encodeURIComponent()进行编码,然后才能放到URL的末尾;而且所有名-值对都必须使用&分隔.
xhr.open("get","example.php?name1=value1&name2=value2",true);
http://localhost:8080/EcommerceSiteLM/user/register.do?username=liumin&password=123456

辅助向现有的URL的末尾添加查询字符串参数

function addURLParam(url,name,value){
    url += (url.indexOf("?") == -1 ? "?" : "&");
    url += encodeURIComponent(name) + "=" + encodeURIComponent(value);
    return url;
}

POST

  1. 一般用于将数据发给服务器。
  2. 将数据放在Body中。
  3. POST的数据可以非常大。
  4. 更安全,因为数据在地址栏上不可见。

get是把参数数据队列加到提交表单的action属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML header内一起传送到action属性所指的URL地址,用户看不到这个过程。

URL的构造规则(GET带参情况下) 获取参数以JSON显示(编写function)

GET和POST对比图
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET和POST. GET - 从指定的资源请求数据...
    NoFacePeace阅读 2,905评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,347评论 19 139
  • 一、HTTP请求方法 根据HTTP标准,HTTP请求可以使用多种请求方式。GET POST HEAD OPTION...
    wuchaooooo阅读 13,949评论 1 14
  • ❶曾经遇到过这样两个孩子,一个是男孩子,一个是女孩子。 男孩很调皮,学习不够认真,有时还会和老师顶嘴,虽然经常会和...
    草莓很甜阅读 5,198评论 2 7
  • 歌曲/Jam《不露声色》 楼先生,近来天气好吗? 可能不太好吧,你很久没来过了,我的身边长满了雨后的杂草。 我本来...
    那由他nayutaa阅读 4,233评论 8 5