method
get
从服务端获取资源
- 请求参数在Url中,不安全
- 对url数据长度有限制,1028个字符
- 只支持ASCII 编码
- 浏览器对它支持缓存
head
和get 一样,只不过不反悔 response body,只返回头,比如获取缓存信息等
post
向服务器提交数据
- 请求参数放在request body中
- 支持各种编码方式
- TCP请求分两次,第一次服务端返回100 continue 第二次发送数据包,这样可以保证发送数据的完整性
- 浏览器没有缓存机制(提交数据,缓存没有意义)
put
向服务器提交数据,文件
与post 相似 put通过url 提交数据,如果服务端找不到这个位置(post 会返回404)服务端会创建这个资源,返回201 Created 如果找到这个资源的位置,会将原来的数据覆盖,具备幂等性PATCH
对put的补充,对资源的部分更新
option
查看服务器状态
浏览器用于检查服务器是否支持跨域,若支持一般服务端返回204
通过返回头的allow 告知浏览器支持的请求方式delete
删除资源
通过URI指定删除定位的资源 和put一样,有安全问题?User-Agent
内容:
操作系统,系统版本,浏览器内核版本,浏览器版本浏览器伪装链
取request hedader浏览器:for mac chrome 95.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36浏览器:Safari 14.1.2 (14611.3.10.1.7)
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Safari/605.1.15
Macintosh; Intel Mac OS X 10_14_6是操作系统
AppleWebKit/605.1.15 (KHTML, like Gecko) 是浏览器内核
IE伪装成 Mozilla
webKit 伪装成 KHTML
KHTML 伪装成 Gecko
最后 opera 伪装成上面任何浏览器
同时所有的浏览器又都宣称自己是 Mozilla
为什么要伪装
一些网页常常为一些特定的浏览器,操作系统等编写特定的网页,通过User-agent去判断
但这些浏览器为了看到更多的页面,所以通过User-Agent去做伪装
User-Agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36