ducky_L

导航

同源策略和跨域

一、同源策略是一种约定,它是浏览器最核心也最基本的安全功能。

  同源是指"协议+域名+端口"三者相同。

二、跨域:当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域。

  1、JSONP:a网页利用script可跨域请求,向b发送get请求,b将数据传进回调函数,a通过回调函数获取b的数据;

  2、CORS:(跨域资源共享)

    a. 对于简单请求,乙站点在响应头里添加 Access-Control-Allow-Origin:http://a.com 即可。
    b. 对于复杂请求,如 PATCH,乙站点需要:
      i. 响应 OPTIONS 请求,在响应中添加如下的响应头:

        Access-Control-Allow-Origin: https://a.com
        Access-Control-Allow-Methods: POST, GET, OPTIONS, PATCH
        Access-Control-Allow-Headers: Content-Type
      ii. 响应 POST 请求,在响应中添加 Access-Control-Allow-Origin 头。
    c. 如果需要附带身份信息,JS 中需要在 AJAX 里设置 xhr.withCredentials =true 。

  3、nginx反向代理、nodeJs中间件转发

posted on 2023-04-18 16:32  ducky_L  阅读(20)  评论(0编辑  收藏  举报