美文网首页
HTTP 访问控制(CORS)

HTTP 访问控制(CORS)

作者: SingleDiego | 来源:发表于2018-05-28 22:46 被阅读23次

参考原文

当一个资源从与该资源本身所在的服务器不同的域或端口请求一个资源时,资源会发起一个 跨域 HTTP 请求

跨域资源共享( CORS )机制允许 Web 应用服务器进行跨域访问控制,从而使跨域数据传输得以安全进行。浏览器支持在 API 容器中(例如 XMLHttpRequestFetch )使用 CORS,以降低跨域 HTTP 请求所带来的风险。




跨域资源共享标准新增了一组 HTTP 首部字段,允许服务器声明哪些源站有权限访问哪些资源。

另外,规范要求,对那些可能对服务器数据产生副作用的 HTTP 请求方法(特别是 GET 以外的 HTTP 请求,或者搭配某些 MIME 类型的 POST 请求),浏览器必须首先使用 OPTIONS 方法发起一个预检请求(preflight request),从而获知服务端是否允许该跨域请求。服务器确认允许之后,才发起实际的 HTTP 请求。在预检请求的返回中,服务器端也可以通知客户端,是否需要携带身份凭证(包括 Cookies 和 HTTP 认证相关数据)。




如下是一个需要执行预检请求的 HTTP 请求:

function test(url){

    var xhr = new XMLHttpRequest();

    xhr.open('GET', url, true);
    xhr.setRequestHeader('X-PINGOTHER', 'pingpong');
    xhr.setRequestHeader('Content-Type', 'application/xml');
    // xhr.withCredentials = false;
    xhr.onreadystatechange = function() {
        console.log(xhr.responseText)
    };
    xhr.send(); 
}

相关文章

  • HTTP 访问控制(CORS)

    参考原文 当一个资源从与该资源本身所在的服务器不同的域或端口请求一个资源时,资源会发起一个 跨域 HTTP 请求。...

  • HTTP访问控制(CORS)

    简单请求 触发简单请求 某些请求不会触发 CORS 预检请求。本文称这样的请求为“简单请求”,请注意,该术语并不属...

  • HTTP访问控制(CORS)

    引用自HTTP访问控制(CORS) 当 Web 资源请求由其它域名或端口提供的资源时,会发起跨域 HTTP 请求(...

  • HTTP访问控制(CORS)

    传送门:Cross-Origin Resource Sharing (CORS) 当一个资源从与该资源本身所在的服...

  • HTTP访问控制(CORS)

    在Web开发中,经常会碰到跨站请求。比如A域名下的站点http://domainA通过AJAX请求B域名下的站点h...

  • HTTP访问控制(CORS)

    什么是CORS? CORS(Cross-Origin Resource Sharing ) 全称“跨域资源共享”,...

  • HTTP访问控制 - CORS

    一、什么是CORS 域:在浏览器里,两个资源拥有相同的域名、协议、端口,成为同域,其中一个不同即成为跨域。现代浏览...

  • CORS 访问控制备忘录

    关于 CORS 的基础知识在 MDN上有很详细的描述HTTP访问控制(CORS)和可能会有的隐患。CORS机制及其...

  • 跨域

    参考资料 HTTP访问控制(CORS)跨域解决方案跨域详解

  • 再谈CORS

    承接上文 HTTP访问控制(CORS) 关于CORS的说明,这篇MDN文章 论述地非常详细、精彩,建议大家先阅读几...

网友评论

      本文标题:HTTP 访问控制(CORS)

      本文链接:https://www.haomeiwen.com/subject/qqunjftx.html