常用各类请求区别记录
get请求
- 浏览器回退不会再次发请求
- 请求产生的URL地址可以被书签记录
- 请求会被浏览器主动cache
- 请求只能进行url编码参数只接受ASCII字符
- 请求参数会被完整保留在浏览器历史记录里
- 参数直接暴露在URL上,传递敏感信息不安全
- 请求只产生一个tcp数据包
- 请求在URL中传送的参数是有长度限制的
客户端限制:
IE浏览器的url长度限制为2083字符
火狐浏览器的url长度限制为65536字符
chrome谷歌的url长度限制为8182字符
Safari浏览器的url长度限制为80000字符
Opera浏览器的url长度限制为190000字符
服务端限制:
ApacheApache能接受url长度限制为8192字符
IIS能接受url长度限制为16384个字符-可调
ngnix默认8192字符-可调
post请求
- 浏览器回退不会再次发请求
- 请求不会被浏览器主动cache
- 请求支持多种编码方式
- 请求中的参数不会保留在历史记录中
- 参数存在Request body中
- 请求只产生一个tcp数据包
- 请求在URL中传送的参数是有长度限制的
- 一个请求正常会产生两个tcp数据包(火狐好像是一个)
options请求
- 获取服务器支持的HTTP请求方法,用来检查服务器的性能。
- 跨域请求预检
head请求
- 检查资源,超链接的有效性。
- 获取网页标志信息,检查网页是否被串改。
put请求
- 请求不会由于网络原因导致重复提交
- 请求会完全替换原资源,多次的PUT更新是完全幂等的
- 请求本身不存在验证机制
- 语义化
delete请求
- 请求常用于删除资源
- 语义化
connect请求
- 没用过
trace请求
- 没用过