HTTP的构成
image.pngHTTP Method
-
get
-
post
-
HEAD
只返回请求头,多数由 Javascript 方法 -
put
-
delete
-
connect
多用于https和websocket -
options
用于获取目的资源所支持的通信选项
options请求是用于请求服务器对于某些接口等资源的支持情况的,包括各种请求方法、头部的支持情况,仅作查询使用
-
trace
put 和delete分别表示添加资源和删除资源,但是实际上只是语义上的约束,并没有强约束。
options和trace一般用户调试,多数线上服务不支持。
关于跨域
- withCredentials: true
跨域请求时带上cookie
关于状态码
-
405: 用来访问本页面的 HTTP 谓词不被允许(方法不被允许)
-
403: 服务端接收用户请求,但是拒绝响应
-
503: 因暂时超载或临时维护,您的 Web 服务器目前无法处理 HTTP 请求
-
504: 超时(这个问题完全是由后端电脑之间 IP 通讯缓慢而产生)
-
3xx:
301和302两个状态表示当前资源已经被转义。
301 & 302 永久性与临时性跳转。301更接近与一种报错,提示客户端下次别来了。
304:产生这个状态的前提是,客户端本地已经有缓存的版本,并且在Request中告诉了服务端,当服务端通过时间或者tag发现没有更新的时候,就会返回一个不含body的304状态。
我觉得这篇文章把缓存讲得挺好了
https://www.cnblogs.com/chenqf/p/6386163.html
我唯一记录一下的是:
强制缓存优先级高于对比缓存,也就是说,当执行强制缓存的规则时,如果缓存生效,直接使用缓存,不再执行对比缓存规则
对比缓存中,Etag / If-None-Match优先级高于Last-Modified / If-Modified-Since
HTTP Request Body
- application/json
- application/x-www-form-urlencoded
- multipart/form-data
- text/xml
使用form标签提交生成html请求,默认会产生 application/x-www-form-urlencoded的数据格式
网友评论