一、post与get区别
(1)什么是 HTTP
超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信。
HTTP 的工作方式是客户机与服务器之间的请求-应答协议。
web 浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端。
举例:客户端(浏览器)向服务器提交 HTTP 请求;服务器向客户端返回响应。响应包含关于请求的状态信息以及可能被请求的内容。
(2)两种 HTTP 请求方法:GET 和 POST
- GET - 从指定的资源请求数据。
- POST - 向指定的资源提交要被处理的数据
1)GET 方法
- GET 请求可被缓存
- GET 请求保留在浏览器历史记录中
- GET 请求可被收藏为书签
- GET 请求不应在处理敏感数据时使用
- GET 请求有长度限制
- GET 请求只应当用于取回数据
2)POST方法
请注意,查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的
10. POST 请求不会被缓存
11. POST 请求不会保留在浏览器历史记录中
12. POST 不能被收藏为书签
13. POST 请求对数据长度没有要求
二、本质区别
(1)GET POST DELETE PUT 等方法的共同点
在万维网中,数据传输均以 tcp/Ip 协议传输。get post 等 http 传输方式均在 tcp/Ip 中,GET产生一个TCP数据包;POST产生两个TCP数据包。
- 对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);
- 而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。
参考地址:
http://www.w3school.com.cn/tags/html_ref_httpmethods.asp
https://www.oschina.net/news/77354/http-get-post-different