同源策略
MDN 浏览器的同源策略
当一个请求url的协议,域名,端口三者之间任意一个与当前的url不同都即为跨域
跨域的安全限制,主要是针对浏览器端来说的,服务器端是不存在跨域安全限制的
解决跨域
cors:在后端响应中添加Access-Control-Allow-Origin响应头
go原生解决办法
1
2
3
4
5
6
7
8
9
10
|
resp.Header().Set("Content-Type", "application/json")
resp.Header().Set("Access-Control-Allow-Origin", "*") //允许访问所有域
// 必须,设置服务器支持的所有跨域请求的方法
resp.Header().Set("Access-Control-Allow-Methods", "POST, GET, PUT, DELETE, OPTIONS")
// 服务器支持的所有头信息字段,不限于浏览器在"预检"中请求的字段
resp.Header().Set("Access-Control-Allow-Headers", "content-type")
// 可选,设置XMLHttpRequest的响应对象能拿到的额外字段
resp.Header().Set("Access-Control-Expose-Headers", "Access-Control-Allow-Headers, Token")
// 可选,是否允许后续请求携带认证信息Cookir,该值只能是true,不需要则不设置
resp.Header().Set("Access-Control-Allow-Credentials", "true")
|