参考:简单请求与复杂请求
不是简单请求的都是复杂请求,那简单请求的定义是什么呢?
简单请求
1、请求方法
- GET
- POST
- HEAD
2、不能自定义请求头header,除了以下信息
- Accept
- Accept-Language
- Content-Language
- Content-Type
3、Content-Type的值仅限于下列三者之一
- text/plain
- multipart/form-data 文件上传时要使用的数据类型
- application/x-www-form-urlencoded
4、关于XMLHttpRequestUpload
- 请求中的任意XMLHttpRequestUpload 对象均没有注册任何事件监听器
- XMLHttpRequestUpload 对象可以使用 XMLHttpRequest.upload 属性访问
5、请求中没有使用ReadableStream 对象
Content-Type有哪些?
参考:Content-type的几种常见类型
content-type的作用以及类型
几种常见的
- application/x-www-form-urlencoded:
- 最常见的 POST 提交数据的方式,原生Form表单,如果不设置 enctype 属性,默认为application/x-www-form-urlencoded 方式提交数据
- multipart/form-data:
- 另一个常见的 POST 数据提交的方式, Form 表单的 enctype 设置为multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符(这就是boundary的作用)分开
- application/json:
- text/xml
options常用在哪些场景?
options常用在CORS跨域请求中,若为非简单请求,则需要使用options进行预检,确保web服务器支持复杂请求跨域访问。