post和get请求的区别
http的请求报文
get 请求指定页面信息,并返回实体主体
post 提交数据
head 类似于get 但返回相应中没有具体内容,用于获取报头
put 客户端向服务器端传送的数据取代指定文档的内容
delete 请求服务器删除指定页面
trace 显示服务器收到的请求
connect
options 允许客户端查看服务器的性能
http请求报文组成
- 请求行:由请求方法,URL和http协议版本组成
- 请求头:位于请行之后,个数可以为0~若干,每一个请求头都包含一个头部字段名和一个值,中间冒号隔开,最后用回车符和换行符结束
- 请求数据:如果请求方法为get,那么请求数据为空,它主要在post中进行,适用需要from表单的情形
get和post的区别
- get的安全性低,post安全性高(get的参数直接暴露在url中)
- get参数通过url传递,post放在request body中
- get传输数据量小(2kb),post默认不受限制
- get长度的请求有限制
- get产生一个数据包,post产生两个数据包
深入挖掘
get和post底层都是tcp连接的
给get加上request body,给post加上url技术上完全可以
get产生一个数据包,post产生两个数据包
对于get请求方式,浏览器会把请求头和请求数据一并发过去,相应200(返回数据)
对于post,浏览器会先发送header,服务器相应100,再发送数据,相应200,返回数据