HTTP 方法参考
-
HTTP请求方法
两种最常见的HTTP方法是:GET和POST。
HTTP(超文本传输协议)旨在实现客户端和服务器之间的通信。
HTTP用作客户端和服务器之间的请求 - 响应>协议。
Web浏览器可以是客户端,并且托管网站的计算机上的应用程序可以是服务器。
例如:客户端(浏览器)向服务器提交HTTP请求; 然后服务器向客户端返回响应。响应包含有关请求的状态信息,还可能包含请求的内容。HTTP的通信方法有如下几种:
- GET
- POST
- PUT
- HEAD
- DELETE
- PATCH
- OPTIONS
-
GET方法
GET用于从指定资源请求数据。
GET是最常用的HTTP方法之一。
请注意,查询字符串(键/值对)在GET请求的URL中发送:/jc_script/encodeurl.php?name1=value1&name2=value2
关于GET请求的一些其他说明:
- GET请求可以缓存
- GET请求保留在浏览器历史记录中
- GET请求可以加入书签
- 在处理敏感数据时,绝不应使用GET请求
- GET请求有长度限制
- GET请求仅用于请求数据(不修改)
-
POST方法
POST用于将数据发送到服务器以创建/更新资源。使用POST发送到服务器的数据存储在HTTP请求的请求主体中:
POST /jc_script/urlencode.php HTTP/1.1 Host: jc2182.com name1=value1&name2=value2
POST是最常见的HTTP方法之一。
关于POST请求的一些其他说明:
- POST请求永远不会被缓存
- POST请求不会保留在浏览器历史记录中
- POST请求无法加入书签
- POST请求对数据长度没有限制
-
PUT方法
PUT方法用于将数据发送到服务器以创建/更新资源。
POST和PUT之间的区别在于PUT请求是等幂的。也就是说,多次调用相同的PUT请求将始终产生相同的结果。相反,重复调用POST请求会产生多次创建相同资源的副作用。 -
DELETE方法
DELETE方法删除指定的资源。
-
OPTIONS方法
OPTIONS方法描述了目标资源的通信选项。
-
比较GET和POST
下表比较了两种HTTP方法:GET和POST。
比较项 GET方法 POST方法 后退按钮/重新加载 无影响 数据将被重新提交(浏览器应该提醒用户数据即将被重新提交) 书签 可以在书签保存 不能保存到书签 缓存 可缓存 不能缓存 编码类型 application/x-www-form-urlencoded application/x-www-form-urlencoded
或者multipart/form-data。对二进制数据使用multipart/form-data历史记录 参数保留在浏览器历史记录中 参数不会保存在浏览器历史记录中 数据长度限制 是的,当发送数据时,GET方法将数据添加到URL;
URL的长度是有限的(最大URL长度是2048个字符)无限制 数据类型限制 只允许ASCII字符 没有限制。二进制数据也是允许的 可见性 URL中的每个人都可以看到数据 URL中没有显示数据 安全 GET没有POST那么安全,因为发送的数据是URL的一部分,
在发送密码或其他敏感信息时永远不会使用GET !POST比GET安全一点。
因为参数不存储在浏览器历史记录