CROS请求
来源:互联网 发布:用js怎么写身高和体重 编辑:程序博客网 时间:2024/05/21 06:59
1.简单请求:GET POST HEAD
HEAD 返回的仅仅是头部(可以用于指导某个url返回的数据类型)
Origin: 表示请求是来自哪一台主机.
2.预请求:OPTION
给一个带有withCredentials的请求发送响应的时候,服务器端必须指定允许请求的域名,不能使用'*'.
如果响应头是这样的:
HEAD 返回的仅仅是头部(可以用于指导某个url返回的数据类型)
Origin: 表示请求是来自哪一台主机.
Access-Control-Allow-Origin: * | www.baidu.com表示允许哪一台主机进行跨域请求.*时所有主机均可以跨站请求.
2.预请求:OPTION
“预请求”要求必须先发送一个 OPTION 请求给目的站点,来查明这个跨站请求对于目的站点是不是安全可接受的。这样做,
是因为跨站请求可能会对目的站点的数据造成破坏。 当请求具备以下条件,就会被当成预请求处理:
①.请求以 GET, HEAD 或者 POST 以外的方法发起请求。或者,使用 POST,
但请求数据为
application/x-www-form-urlencoded, multipart/form-data 或者 text/plain以外的数据类型。
比如说,用 POST 发送数据类型为 application/xml 或者 text/xml 的 XML 数据的请求。
Accept-ContentType:application/json此时请求数据为json,所以会发送一次预请求.②.使用自定义请求头(比如添加诸如 X-PINGOTHER)
$.ajax(url:"http://google.com",type:"get", beforeSend: function(XMLHttpRequest) { XMLHttpRequest.setRequestHeader("X-PINGOTHER","pingpong"); } )此时会有两个请求头一起被发送
Access-Control-Request-Method: POSTAccess-Control-Request-Headers: X-PINGOTHER服务端应该允许该请求头:X-PINGOTHER
Access-Control-Allow-Headers: X-PINGOTHER3.跨站时发送cookie信息:需要将一个标志位withCredentials设置为true.
var ajax = new XMLHttpRequest();ajax.open('POST',"http://google.com",true);ajax.withCredentials = true;ajax.send;
但是,如果服务器端的响应中,如果没有返回
Access-Control-Allow-Credentials: true的响应头,那么浏览器将不会把响应结果传递给发出请求的脚本程序,以保证信息的安全。
响应头:
Access-Control-Allow-Credentials:true特别注意:
给一个带有withCredentials的请求发送响应的时候,服务器端必须指定允许请求的域名,不能使用'*'.
如果响应头是这样的:
Access-Control-Allow-Origin: *
,则响应会失败.
4.检测XHR是否支持CORS:
var xhr = new XMLHttpRequest();if (“withCredentials” in xhr){alert("支持 withCredentials cookie CORS")}
0 0
- CROS请求
- CROS
- cros
- Dojo实现跨源(CROS)请求
- tomcat 添加CROS跨源请求
- Tomcat之——添加CROS跨源请求
- 配置 cros Java 前后端分离跨域请求
- spring中解决CROS跨域请求的方案
- XMLHttpRequest 请求xml文件,火狐浏览器提示“CROS 头缺少 Access-Control-Allow-Origin”
- cros跨域配置
- ajax 跨域 CROS
- CROS代理跨域
- 浅析CROS的实现
- express cros post 跨域
- spring mvc cros
- Ionic CROS 跨域问题
- tomcat跨域访问(CROS)
- 七种跨域方法【1.CROS篇】
- Atom编辑器折腾记_(21)修复`Atom-Beautify: Migrate Settings`问题
- UBUNTU实战(4)
- Android开发本地及网络Mp3音乐播放器(十七)已存在歌曲歌词下载
- 面向项目(十)—— 头文件、源文件的组织
- 计算使用线性探测、平方探测以及双散列插入的长随机序列所需要的冲突次数
- CROS请求
- 哈佛图书馆上的训言
- 对计算机原码/补码的理解
- Activity与Intent(一)
- 请问一下,各位大神怎么用u盘重装DOS系统呀
- Android启动界面之ViewPager用法详解
- 系统参数设计,即用户词典,把一些词组单独放一表中,系统启动即加载到Application中
- Java中的时间日期处理
- 异常:使用mybatis框架 Mapped Statements collection does not contain value for 后面为类方法