GET和POST的区别
在客户端和服务器之间进行请求-响应时,最常用的的两个方法就是GET(请求数据
)和POST(提交要被处理的数据,如微博评论)
-
GET请求
查询参在GET请求的URL中发送,数据会显示在URL中
/test/demo_form.asp?name1=value1&name2=value2
- GET请求可被缓存
- GET请求保留在浏览器历史记录中
- GET可被存为书签
- GET不能用于处理敏感数据
- GET请求有长度限制
- GET请求只能请求数据
- GET请求后退/刷新时,无害
- GET请求编码类型,application/x-www-form-urlencoded
- GET请求数据类型只允许 ASCII 字符
-
POST请求
查询参在POST请求的HTTP消息主体中发送,数据不会显示在URL中
POST /test/demo_form.asp HTTP/1.1 Host: w3schools.com name1=value1&name2=value2
- POST请求不会被缓存
- POST不会保留在浏览器历史记录中
- POST不能被存为书签
- POST请求没有长度限制
- POST请求后退/刷新时,数据会被重新提交(浏览器告知用户数据将被重新提交)
- POST请求编码类型,application/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码
- POST请求数据类型没有限制,允许ASCII 字符和二进制数据
-
其他请求方法
方法 描述 HEAD 只返回HTTP报头,不返回文档主体 PUT 上传指定的URI DELETE 删除指定资源 OPTIONS 返回服务器支持的HTTP方法 CONNECT 建立一个到由目标资源标识的服务器的隧道 TRACE 沿着到目标资源的路径执行一个消息环回测试 PATCH 对资源应用部分修改