语义区别
GET - 从指定的资源请求数据。url长度2k个字节
POST - 向指定的资源提交要被处理的数据。request body中。
服务器请求
GET可被缓存(页面资源缓存在浏览器,且get请求只接受ASCII码的回复)
POST不可以被缓存(刷新页面会重新提交post请求,接受二进制数据等格式)
参数
GET请求通常没有请求体,参数放在url中
POST将数据放在请求体,先传请求头后传请求体
get请求浏览器会把http-header和data一起发送,服务器返回200
post先发送header,服务器响应100 continue后,浏览器在发送data。
post应用
无法使用缓存文件
向服务器发送大量数据
发送用户输入的内容时,安全可靠。
GET 方法
请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的:
/test/demo_form.asp?name1=value1&name2=value2
有关 GET 请求的其他一些注释:
GET 请求可被缓存
GET 请求保留在浏览器历史记录中
GET 请求可被收藏为书签
GET 请求不应在处理敏感数据时使用
GET 请求有长度限制
GET 请求只应当用于取回数据
POST 方法
请注意,查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的:
POST /test/demo_form.asp HTTP/1.1 Host: w3schools.com name1=value1&name2=value2
有关 POST 请求的其他一些注释:
POST 请求不会被缓存
POST 请求不会保留在浏览器历史记录中
POST 不能被收藏为书签
POST 请求对数据长度没有要求