代理,跨域

同源策略

同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。

  • 同源限制以下行为
  1. Cookie、LocalStorage 和 IndexDB 无法读取
  2. DOM 和 Js对象无法获得
  3. AJAX 请求不能发送

解决方案:

  1. jsonp script标签(前端)
  2. 项目中nginx反向代理
  3. web浏览器允许跨域
  4. node.js中间件(正向代理)

代理服务器

提供代理服务的电脑系统或其它类型的网络终端,代替网络用户去取得网络信息

  • 代理服务器的优点
  1. 提高访问速度
  2. 防火墙作用
  3. 突破访问限制

正向代理:

  • 意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。【服务器并不知道是哪个东西请求的自己】

  • 正向代理架设在 客户端与服务器之间

  • A想跟C说一句话(请求),但是没有机会,就先找到B(代理服务器),再让B告诉C,C再告诉B怎么回复A,B回复A

反向代理:

  • 以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求的客户端,此时代理服务器对外表现为一个反向代理服务器。

  • 反向代理架设在服务端

  • A想跟B说一句话,B把这句话告诉了C,C告诉B应该怎么回复A,B回复A

「正向代理」代理的对象是客户端,「反向代理」代理的对象是服务端

代理,跨域_第1张图片
正向代理,反向代理

正向代理的应用
1. 访问原来无法访问的资源
2. 用作缓存,加速访问速度
3. 对客户端访问授权,上网进行认证
4. 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

反向代理的应用
1. 保护内网安全
2. 负载均衡
3. 缓存,减少服务器的压力

你可能感兴趣的:(代理,跨域)