`

cross 跨域

 
阅读更多

 

 

 

REQUEST:
OPTIONS /resources/l.jsp HTTP/1.1
Host: localhost:18086
Connection: keep-alive
Access-Control-Request-Method: POST
Origin: http://localhost:8080
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36
Access-Control-Request-Headers: accept, x-requested-with, content-type
Accept: */*
Referer: http://localhost:8080/static/product/ProductInput.html?wef11ssss
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6
RESPONSE :
HTTP/1.1 200 OK
Date: Thu, 16 Oct 2014 09:44:35 GMT
Access-Control-Allow-Origin: http://localhost:8080
Access-Control-Allow-Credentials: true
Vary: Origin
Access-Control-Allow-Methods: POST, GET, OPTIONS, HEAD
Access-Control-Allow-Headers: accept, x-requested-with, content-type
Content-Length: 0
Server: Jetty(9.3.0.M0)
 

 

 跨域请求时:浏览器会首先发送一个请求,目标服务返回是否允许访问:

request 会带有:

OPTIONS /resources/l.jsp HTTP/1.1 
Access-Control-Request-Method: POST //请求的参数
Origin: http://localhost:8080 //请求来源域
Access-Control-Request-Headers: accept, x-requested-with, content-type //真正请求时

允许 跨域请求则返回:

Access-Control-Allow-Origin: http://localhost:8080 //允许请求的域来源
Access-Control-Allow-Credentials: true 
Access-Control-Allow-Methods: POST, GET, OPTIONS, HEAD //允许请求的方法
Access-Control-Allow-Headers: accept, x-requested-with, content-type//允许请求时的header

浏览器接到返回数据后,才会发送实际请求。 

 

服务器需要能够处理跨域请求,返回对应的header. 

 

cors-filter 是一个Filter ,参够实现服务端的cors功能。

jar包下载地址:http://software.dzhuvinov.com/cors-filter.html

配置:

web.xml:

  <filter>
        <filter-name>CORS</filter-name>
        <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
        <init-param>
            <param-name>cors.supportedMethods</param-name>
            <param-value>GET, POST, HEAD, PUT, DELETE</param-value>
        </init-param>
        <init-param>
            <param-name>cors.maxAge</param-name>
            <param-value>3600</param-value><!--单位秒-->
        </init-param>
        <init-param>
            <param-name>cors.exposedHeaders</param-name>
            <param-value>Content-Range</param-value><!--允许客户端js访问的header-->
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CORS</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

 

详细配置见:http://software.dzhuvinov.com/cors-filter-configuration.html

 

分享到:
评论

相关推荐

    flash跨域策略文件crossdomain.xml配置详解以及防范措施.docx

    总结,Flash 跨域策略文件 crossdomain.xml 是控制 Flash 应用程序跨域访问的关键。正确配置 crossdomain.xml 可以确保数据的安全传输,防止恶意跨域攻击。然而,配置不当可能导致敏感信息泄露或被利用,因此在设置...

    cross-request 3.1 YApi 跨域请求 谷歌浏览器

    cross-request 3.1 YApi 跨域请求 谷歌浏览器

    flash跨域crossdomain

    flash跨域crossdomain 设置项使用,直接可用允许全部跨域请求

    tomcat跨域解决方案

    为了解决Tomcat在IP和端口不同时引发的跨域问题,可以通过编写并配置`crossDomain.xml`文件来实现跨域支持。下面将详细介绍几种常见的配置方式: ##### 1. 允许特定域名访问 在某些情况下,可能只需要允许来自特定...

    YApi 跨域请求插件 cross-request 3.0.0

    前端和后端都可以需要,给yapi测试集合的时候使用

    @CrossOrigin解决跨域问题

    使用@CrossOrigin注解解决前后台分离中的跨域问题

    Cross Domain-CROS(跨域助手).zip

    Cross Domain will help you to deal with cross domain - CORS problem. This is tool helpful when face with cross domain issue.

    chrome跨域插件-cross-request 3.0.zip

    使用YApi,在线调取接口时,需要在谷歌浏览器安装插件。解压之后,将cross-request.crx文件拖到谷歌浏览器的扩展程序页面,确认即可。

    cross-request 3.0支持YAPI跨域本地测试

    使用yapi跨域访问,支持chrome浏览器,在chrom浏览器中输入 chrome://extensions/ 打开以后,再打开开发模式,然后将这个zip包直接拖入到扩展程序就行 【注意】 拖入的时候,要把这个zip直接拖入到 扩展程序,最左上...

    Tomcat配置解决跨域问题

    在Web开发中,跨域(Cross-Origin)是一种常见的安全限制,它阻止浏览器从一个源加载资源到另一个不同的源。这主要是为了防止恶意脚本通过注入来窃取数据。然而,在进行前后端分离或者API调用时,跨域限制可能会成为...

    tomcat跨域访问问题

    在开发Web应用时,我们经常会遇到“跨域访问”(Cross-Origin Resource Sharing, CORS)的问题。Tomcat作为一款广泛使用的Java Servlet容器,同样会遇到这个问题。跨域是由于浏览器的安全策略,同一源策略(Same-...

    jquery wcf cross ,wcf 跨域

    标题“jquery wcf cross ,wcf 跨域”表明这个压缩包包含了关于如何使用jQuery调用WCF服务并解决跨域问题的资料。这里我们将深入探讨这个主题。 首先,理解jQuery的AJAX函数在跨域调用中的作用至关重要。jQuery的$....

    完美解决iframe跨域问题

    5. **CORS(Cross-Origin Resource Sharing)**:服务器端设置`Access-Control-Allow-Origin`响应头,允许特定的跨域请求。但这种方法需要服务器端的配合,对于纯客户端的iframe跨域解决方案不适用。 **三、window....

    java cxf webservice接口解决跨域问题

    Java CXF Webservice接口在处理Web服务时,可能会遇到跨域问题,...同时,如果项目使用Spring框架,还可以利用`@CrossOrigin`注解进行局部或全局的跨域配置。部署时,确保所有依赖项都已包含,并正确配置了服务器环境。

    跨域点单登录源码SSO_cross_domain

    跨域点单登录源码SSO_cross_domain是一个用于实现单点登录(Single Sign-On, SSO)的项目,主要解决了用户在多个域名之间切换时无需重复登录的问题。在这个项目中,我们将探讨三个核心概念:跨域、点单登录以及SSO。...

    js跨域解决方案

    7. ** CORS-Policy Image**:对于图片资源,可以通过设置图片的`crossorigin`属性,使浏览器在加载图片时带上适当的凭证信息,从而获取到跨域的资源。 8. **Server-Sent Events(SSE)**:与WebSocket类似,SSE允许...

    H5的video标签跨域.HTML的video标签跨域_跨域ajax

    H5的video标签跨域.HTML的video标签跨域 我们都知道HTML video标签能播放视频 但是如果你的video要播放的是非当前域名下的视频文件,这就要跨域播放视频, 应该如何实现呢?

    jquery跨域调用 js跨域调用

    jQuery跨域调用主要是通过JSONP(JSON with Padding)和CORS(Cross-Origin Resource Sharing)这两种机制来实现的。JSONP是一种非官方的跨域数据交互协议,而CORS是W3C标准,允许服务器声明哪些来源可以访问其资源...

Global site tag (gtag.js) - Google Analytics