计算机网络相关知识总结

106 阅读1分钟

跨域及解决方案

什么是跨域?

跨域是指一个网页向另一个url请求如果(协议,域名,端口号)任意一个不同,就会产生跨域。 跨域引起的原因是浏览器的同源策略限制,不允许不同源的资源进行交互,来保证用户安全性和隐私性。

解决方案

设置响应头

设置响应头"Access-Control-Allow-Origin", "*",

使用cors

安装cors包,node环境中直接使用cors中间件,即可解决,原理还是设置响应头

Nginx代理方式

客户端请求Nginx服务器,Nginx在配置文件中配置监听客户端的请求,然后将匹配的请求代理到真实的服务器。服务器处理请求后返回数据,Nginx再将数据返回给客户端。

ifram通讯解决跨域

在主页面中嵌入一个隐藏ifram,在ifram页面中拿到需要的数据,然后通过postmessage方法发送给主页面。

webpack本地代理(适用于开发环境)

在vue项目配置中配置proxy,将请求到某个地址的请求转发到代理服务器,代理服务器转发请求,接收到服务器返回的数据在返回给前端。

devServer: {  
    proxy: {  
      '/api': { // 需要代理的接口路径  
        target: 'http://api.example.com', // 代理的目标服务器地址  
        changeOrigin: true, // 是否改变请求的源地址  
        pathRewrite: {'^/api': ''} // 重写请求的路径  
      }  
    }  
  }  

网络安全相关

XSS攻击

攻击者通过向网站注入恶意脚本代码,利用这一漏洞在用户浏览器进行恶意操作。

DDos攻击

CSRF攻击