get和post请求是HTTP与服务器交互方式,也就是通常所说的风别对服务器资源的增删改查
1. post是修改数据 get是获得数据
- GET在浏览器回退时是无害的,而POST会再次提交请求。(面试1)
- GET产生的URL地址可以被Bookmark,而POST不可以。(面试2)
2, get将请求的数据放在url上,即HTTP协议头上. 以?分割URL和传输数据,参数之间以&相连。数据如果是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,及%加上(了解)
3.get请求的长度限制其实是由各大浏览器厂商限制的,HTTP协议不对URL的长度作事先的限制,所以在新增数据的时候尽量使用post请求 (面试3)
4.get产生一个TCP数据包,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);post产生两个TCP数据包,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。(不是所有的POST的都发送俩个TCP包,火狐浏览器就一个)(了解)
5.GET请求只能进行url编码,而POST支持多种编码方式,。(面试4)
6.
- GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。(面试5)
- GET只接受ASCII字符的参数的数据类型,而POST没有限制(面试6)
- GET请求会被浏览器主动cache,而POST不会,除非手动设置。(面试7)
- GET请求会被浏览器主动cache,而POST不会,除非手动设置。(面试8)
- GET参数通过URL传递,POST放在Request body中。(面试9)
所以:
get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式
基本翻译
n. 岗位;邮件;标杆
n. (Post)人名;(英、西、捷、瑞典、荷)波斯特
vt. 张贴;公布;邮递;布置
vi. 快速行进
浙公网安备 33010602011771号