options请求:预检请求
options请求就是在正式的数据请求前的一次请求,用意就是在正式请求前检测请求是否有效或者是被允许的,
因为正式请求可能会返回一些用户的隐私信息或者,或者对用户数据进行一些操作
而预检请求就是确认是否能够进行正式请求,避免正式请求带来的用户隐私信息泄露风险或者非预期的操作。
产生预检请求的情况有两种:
1. 跨域
2. 复杂请求
复杂请求:既是除了简单请求以外的请求
简单请求:
1. 请求方法是GET、HEAD或者POST,当请求方法是POST时,Content-Type必须是
1.1. application/x-www-form-urlencoded
1.2. multipart/form-data
1.3. text/plain
2. 请求头部没有自定义参数,如token
options请求响应头中返回:
1. access-control-allow-origin: 允许请求的域名
2. access-control-allow-methods: 允许请求的请求方式
3. access-control-allow-headers: 允许请求的请求头
4. Access-Control-Max-Age: 此次预检的有效时间,设了多少时间,即在这个时间段内,不会进行第二次预检。
5. Access-Control-Allow-Credentials: 是否允许携带Cookie信息(需前后端配合使用)