5.2 post 和 get 方式的区别?
在谈到post和get之前的差别之前,我们需要先谈谈什么叫做HTTP。
5.2.1 什么是 HTTP?
HTTP(中文:超文本传输协议,英文:Hyper Text Transfer Protocol)是一个客户端终端(用户)和服务器端(网站)请求和应答的标准,用于保证客户机与服务器之间的通信。
HTTP 的工作方式是客户机与服务器之间的请求-应答协议(TCP协议)。
web 浏览器可能是客户端,而计算机上的网络应用程序可能作为服务器端。
举例:客户端(浏览器)向服务器提交 HTTP 请求;服务器向客户端返回响应。响应包含关于请求的状态信息以及可能被请求的内容。
那么POST和GET则是HTTP的两种请求—响应方法。
GET - 从指定的资源请求数据。
POST - 向指定的资源提交要被处理的数据
5.2.2 GET 方法
请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的:
/test/demo_form.asp?name1=value1&name2=value2
假设name1为用户名,name2为用户密码,那么在URL中就可以看到用户的个人隐私信息,是非常不安全的。
因为name和value都会生成在URL中,假设其中一项value是非常非常长的一串字符,那么因为GET请求有长度限制,那么就很尴尬了。
另外:
GET 请求可被缓存
GET 请求保留在浏览器历史记录中
GET 请求可被收藏为书签
GET 请求不应在处理敏感数据时使用
GET 请求有长度限制
GET 请求只应当用于取回数据
5.2.3 POST方法
POST 方法
POST /test/demo_form.asp HTTP/1.1
Host: w3schools.com
name1=value1&name2=value2
POST 请求不会被缓存
POST 请求不会保留在浏览器历史记录中
POST 不能被收藏为书签
POST 请求对数据长度没有要求
对比图:
image.png参考链接:
网友评论