C产品在市场上有哪些独特优势?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1972个文字,预计阅读时间需要8分钟。
前言:上篇总结了下WebApi接口测试工具的使用,本篇接着来看WebApi的另一个常见问题:跨域问题。本文主要从实例的角度分享如何解决CORS跨域问题的一些细节。
一、跨域问题的由来跨域问题是由于浏览器的同源策略造成的。同源策略是指,协议(http或https)、域名、端口三者相同,才能正常请求资源。不同源之间的请求,浏览器会默认阻止,这就是跨域问题的由来。
二、CORS解决跨域问题CORS(Cross-Origin Resource Sharing,跨源资源共享)是W3C制定的一种机制,允许服务器明确地控制哪些外部域可以访问自己的资源。
1. 简单请求简单请求不需要CORS预检请求,通常包括GET、POST方法,且请求头中的字段不超过以下几种:- Accept- Accept-Language- Content-Language- Content-Type(只限于application/x-www-form-urlencoded、multipart/form-data、text/plain)
2. 预检请求非简单请求,浏览器会先发送一个OPTIONS请求,询问服务器是否允许跨域请求。服务器如果允许,则返回相应的响应头,如`Access-Control-Allow-Origin`。之后,浏览器才会发送实际的请求。
3. 响应头设置服务器需要设置以下响应头,允许跨域请求:- `Access-Control-Allow-Origin`: 允许跨域的源,可以是`*`(允许所有域),也可以是具体的域名。- `Access-Control-Allow-Methods`: 允许的请求方法,如`GET, POST, PUT, DELETE`等。
本文共计1972个文字,预计阅读时间需要8分钟。
前言:上篇总结了下WebApi接口测试工具的使用,本篇接着来看WebApi的另一个常见问题:跨域问题。本文主要从实例的角度分享如何解决CORS跨域问题的一些细节。
一、跨域问题的由来跨域问题是由于浏览器的同源策略造成的。同源策略是指,协议(http或https)、域名、端口三者相同,才能正常请求资源。不同源之间的请求,浏览器会默认阻止,这就是跨域问题的由来。
二、CORS解决跨域问题CORS(Cross-Origin Resource Sharing,跨源资源共享)是W3C制定的一种机制,允许服务器明确地控制哪些外部域可以访问自己的资源。
1. 简单请求简单请求不需要CORS预检请求,通常包括GET、POST方法,且请求头中的字段不超过以下几种:- Accept- Accept-Language- Content-Language- Content-Type(只限于application/x-www-form-urlencoded、multipart/form-data、text/plain)
2. 预检请求非简单请求,浏览器会先发送一个OPTIONS请求,询问服务器是否允许跨域请求。服务器如果允许,则返回相应的响应头,如`Access-Control-Allow-Origin`。之后,浏览器才会发送实际的请求。
3. 响应头设置服务器需要设置以下响应头,允许跨域请求:- `Access-Control-Allow-Origin`: 允许跨域的源,可以是`*`(允许所有域),也可以是具体的域名。- `Access-Control-Allow-Methods`: 允许的请求方法,如`GET, POST, PUT, DELETE`等。

