HTTP
请求方法包括:POST
、GET
、PUT
、DELETE
、OPTIONS
等,对于除GET
请求以外的HTTP
请求,如果存在跨域请求,浏览器必须首先使用OPTIONS
方法询问服务端是否允许跨域请求,然后才发起真正的请求,OPTIONS
请求称为预检请求。
HTTP 请求首部字段,预检请求发送给服务器
Origin
预检请求或实际请求的原域名,不管是否为跨域请求,Origin
字段总是被发送。
Access-Control-Request-Method
预检请求,将实际请求的HTTP
方法告诉服务器。
Access-Control-Request-Headers
预检请求,将实际请求所携带的首部字段告诉服务器。
HTTP 响应首部字段
Access-Control-Allow-Origin
服务器允许跨域访问的域,对于不需要携带身份凭证,服务器可以配置该属性为“*”。
Access-Control-Allow-Origin: www.mybj123.com
Access-Control-Allow-Methods
服务器允许跨域请求的方法,
用于预检请求的响应。
Access-Control-Allow-Headers
服务器允许跨域请求携带的首部字段,用于预检请求的响应,可以自定义。
Access-Control-Allow-Headers: app-id
Access-Control-Allow-Credentials
服务器允许跨域请求携带身份凭证(cookies
、authorization headers
、TLS client certificates
等)。
如果允许,设置为true
;如果不允许则不需要设置,因为此属性只有true
一个可选值,并且对于附带身份凭证的请求。Access-Control-Allow-Origin
不能使用通配符。
Access-Control-Allow-Credentials: true
Access-Control-Expose-Headers
服务器允许浏览器访问的头。
默认情况下:浏览器只能获取到Cache-Control
、Content-Language
、Content-Type
、Expires
、Last-Modified
等。
Access-Control-Max-Age
服务器设置OPTIONS
预检的缓存时长(以秒为单位),在缓存时长内,这个域不再发起预检请求,可以直接发起真正的HTTP
请求。
Access-Control-Max-Age: 28800
以上就是关于 HTTP 请求首部字段及响应首部字段的详细内容,更多请关注www.mimiwuqi.com的其它相关文章!