简单请求
- 请求方法为:GET、POST、HEAD
- 请求头字段为:Accept、Accept-language、Content-Language、Content-Type
- Content-Type的值为:text/pliant、mutipart/form-data、application/www-form-urlencoded
复杂请求
- 非简单请求的即属于复杂请求
简单请求和复杂请求的区别
复杂请求发出前会先发出一个OPTIONS请求,称为预检请求。预检请求的作用是将实际请求的一些内容发送给服务器,询问服务端是否接受。服务器接收到OPTIONS请求后会在响应头中告诉浏览器服务器当前允许接收的信息
预检请求
预检请求头
预检请求头中会包含下面这些字段
- Origin: 告诉服务器请求的源
- Access-Control-Reques-Method:告诉服务器真实请求的请求方式
- Access-Control-Request-Headers:告诉服务器真实请求头会携带哪些内容
预检响应头
预检响应头中会包含下面这些字段
- Access-Control-Allow-Origin: 告诉客户端服务器允许的源
- Access-Control-Allow-Methods: 告诉客户端服务器允许使用哪些请求方法
- Access-Control-Allow-Headers: 告诉客户端服务器允许请求头携带哪些字段
- Access-Control-Allow-Credentials: 告诉客户端是否允许携带cookie
- Access-Control-Max-Age: 响应时间(秒)
注:当客户端要携带cookie时,origin的值必须为准确的url,不能为*