1>关于HTTP
1.最初是浏览器与服务器之间的通讯协议,GTP用于读取资源(例如图片,HTML等等),POST用于 提交表单,得到一个结果反馈页
2.后来被扩充到接口格式的定义,GTP和POST都作为接口的请求方式。
2>get和post的区别
1.get请求一般用来请求获取数据。
post请求一般作为发送数据到后台,传递数据,创建数据。
2.get请求也可以传参到后台,但是传递的参数则显示在地址栏,安全性低,且参数的长度也有限制(2048字符)。
post请求则是将传递的参数放在request body中,不会再地址栏中显示,安全性比get请求要高,而且参数的长度也没有限制。
3.get请求刷新浏览器或者回退没有影响。
post请求则会重新请求一遍。
4.get请求可以被缓存,也会保留再浏览器的历史记录中。
post请求不会被缓存,也不会保留在浏览器的历史记录中。
5.get请求通常是通过url地址请求。
post常见的则是form表单请求。
6.get产生一个tcp数据包
post产生两个tcp数据包
7.get产生的URL地址可以被Bookmark,而post不可以。
8.get请求会被浏览器主动cache,而post不会,除非手动设置。
9.对于参数的类型,get只能接受ASCⅡ字符,而post没有限制。
10.get比post更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
3>注意
1.get和post都有自己的语义,不能随便混用
2.并不是所有的浏览器都会在post中发送两次包,Firefox就只发一次