前言
post与get请求的区别,网上总结很多了,很重点的基础问题,我也有必要总结一下,使自己印象更能加深。
两者的区别
在客户机和服务器之间进行请求响应时,两种最常用的方法:GET和POST
1.GET - 从指定的资源请求(获取)数据。
- GET 请求可被缓存
- GET 请求保留在浏览器历史记录中
- GET 请求可被收藏为书签
- GET 请求不应在处理敏感数据时使用
- GET 请求有长度限制
- GET 请求只应当用于取回数据
- 只允许 ASCII 字符。
- 浏览器退回是无害的,而post请求会再次提交
- GET产生一个TCP数据包;POST产生两个TCP数据包
2.POST - 向指定的资源提交(传送)要被处理的数据
- POST 请求不会被缓存
- POST 请求不会保留在浏览器历史记录中
- POST 不能被收藏为书签
- POST 请求对数据长度没有要求
- 没有限制。也允许二进制数据。
在表单提交时用get还是post
个人理解:因为post比get安全,post是在Requestbody中传递,get通过参数URL传递,所以登录输入密码的时候肯定不想在URL中看到的,所以用post,客户端与服务端的交互(查询,搜索,读)时用get方法,两者造成以上很大区别,博主感觉就是因为一个在request body中传递,另一个在url中传递才会造成区别。
get是从服务器上获取数据,post向服务器传送数据,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
总结
post、get各有优缺点,根据使用的环境去选择使用。