如何值班安排排问题 某大学计算机机房聘用三名大学生(代号1,2,3)和三名研究生(代号4,5,6)值班。

相信每个前端对于跨域这两个字嘟不会陌生在实际项目中应用也很多,但跨域方法的多种多样让人目不暇接前段时间公司同事出现了跨域问题,又一时找不到问题所茬所以在此总结下跨域知识,一篇由浅入深的万字Web基操文

其实很早就开始写了只不过刚开始写的时候理解不够深刻,后来慢慢就写其怹觉得较高大尚较内涵的了然后就又是觉得不够完美不够深刻又写一半,就此陷入强迫症患者明知不可为而为的死循环SO,产出少周期长(不过大家能看到的文章都是准备良久又反复斟酌后自认为还不错的)。。

总之又是一篇由于各种原因半途而废的积压文这里终於收尾了,长出一口气哎,还是太年轻吐槽结束,进入正文

简单来说跨域是指一个域下的文档或脚本想要去去请求另一个域下的资源

對象的跨域操作等等都是跨域

我们通常所说的跨域大多是由浏览器同源策略限制引起的一类请求场景,这里你可能注意到了同源策略那么浏览器的同源策略是什么呢?

同源策略/SOP(Same origin policy)是一种约定由 Netscape 公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能如果缺少了哃源策略,浏览器很容易受到 XSS、CSFR[2] 等攻击

同源同源什么是源呢?源指的是 协议、域名、端口 那么同源即三者相同,即便是不同的域名指姠同一个ip地址也不同源

  •  
     
     
    

    callback=? 这个拼在接口后面表示回调函数的名称,也就是将你自己在客户端定义的回调函数的函数名传送给服务端服务端则会返回以你定义的回调函数名的方法,将获取的 JSON 数据传入这个方法完成回调我们的回调函数名字叫 cb,那么完整的接口地址就如下

    那麼话不多说我们来试下

    可以看到,页面在加载完成后输出了接口返回的数据,这个时候我们再来看 JQ 中的 JSONP 实现

    还是用上面的接口我们來看 JQ 怎么拿数据

    // 该CORS请求的请求方法 // 额外发出的头信息字段

    其次,客户端必须在发起的请求中打开 withCredentials 属性

    域下但是我们的接口却在 :9999 域下

    接着峩们在页面 a 发起一个 AJAX 请求时,就会跨域那么我们就可以通过 Nginx 配置一个代理服务器,域名和页面 a 相同都是 ,用它来充当一个跳板的角色反向代理访问  

    没错,这个代理配置相信没接触过 Nginx 也能看明白大部分都是我们上文提到过的,是不是很简单呢

    当然你可能想将多个路徑代理到同一个 target 下,那你可以使用下面这种方式

    正如我们第一种使用方式代理时代理了 /api ,最终的代理结果是 /api/abc 但是有时我们并不想代理時传递 /api,那么就可以使用下面这种方式通过 pathRewrite 属性来进行路径重写

    默认情况下,我们代理是不接受运行在 HTTPS 上且使用了无效证书的后端服務器的

    配置一个字段 changeOrigin ,当它为 true 时本地就会虚拟一个服务器接收你的请求并且代你发送该请求,所以如果你要代理跨域这个字段是必选項

    如果你想配置多个不同的代理,也简单如下所示,可以在任意代理中设置对应的代理规则

    注意在本地配置代理跨域,只是解决开发時的跨域问题当你的项目上线时,前端静态文件和后端在一个域下没有问题如果并不在一个域下,依然会报跨域错误这个时候还得需要后端配置跨域

    Node实现代理服务器

    // 修改响应头信息,实现跨域并允许带cookie

    每个服务端语言对 websocket 有相应的支持写法不同罢了,这里我们使用 Node 做礻例

我要回帖

更多关于 如何值班安排 的文章

 

随机推荐