重定向和反向代理的区别

  • Post author:
  • Post category:其他



目录


重定向


概念说明


重要特点


演示效果


请求的URL地址


重定向后的URL地址


重定向原理图


反向代理


概念说明


重要特点


基础配置


ngixn配置文件


反向代理原理图


二者的区别


总结提升


重定向

概念说明

重定向(Redirect)就是通过各种方法将各种网络请求重新定个方向转到其它位置(如:网页重定向、域名的重定向、路由选择的变化也是对数据报文经由路径的一种重定向),可以简单理解为当我们要访问的资源不在此服务器上,那么客户端就会将请求转移到另一个服务器上去访问资源。转换请求这一部分是有客户端来完成的,用户如果不刻意查看是感觉不到的。其实是请求了两个获取到的资源,我们请求的URL地址也会发生变化。接下来让我们看看重定向的现象。

重要特点

  • 重定向是一种客户端的技术,用于将请求从一个URL重定向到另一个URL。
  • 重定向是通过服务器返回特定的HTTP状态码和新的URL地址,告知客户端进行新的请求。
  • 重定向常用于处理URL的更改、网站的重定位、错误处理等情况。
  • 重定向可以是临时的(使用302状态码)或永久的(使用301状态码),具体取决于重定向的目的和需求。

演示效果

请求的URL地址

状态码为302表示重定向的意思,可以简单的理解为该资源原本确实存在,但已经被临时改变了位置。Location首部指定的是需要将页面重新定向至的地址。一般在响应码为 3xx 的响应中才会有意义。

重定向后的URL地址

重定向原理图

反向代理

概念说明

反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。在请求的过程中URL地址是不会发生变化的,第二次请求是由代理服务器去发送请求的,获取到用户想要的数据之后通过反向代理服务器返回给用户。所以给用户的感觉就是代理服务器就是目标服务器。接下来看一下配置反向代理的效果。

重要特点

  • 反向代理是一种服务器端的技术,用于将客户端的请求转发到内部服务器上,并将响应返回给客户端。
  • 反向代理隐藏了内部服务器的真实IP地址和细节,客户端只与反向代理进行通信。
  • 反向代理可以根据请求的内容或其他规则,将请求分发给不同的内部服务器,以实现负载均衡和高可用性。
  • 反向代理可以提供缓存、安全过滤、SSL加密等功能,以增强性能和安全性。

基础配置

ngixn配置文件

我们需要在服务器上的nginx服务器上添加方向代理的配置

server {
        listen       80;
        server_name  www.wuzilong.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }
        location /baidu/ {
            proxy_pass http://www.baidu.com/;

        }
      }

这样我们通过访问服务器的IP地址或者用户名后面拼接baidu就可以访问到百度的页面了。

反向代理原理图

二者的区别

重定向:1.浏览器的URL地址栏发生变化
        2.第二次访问由客户端进行
        3.两次不同的请求


反向代理:1.浏览器URL地址栏不发生变化
          2.第二次访问由服务器进行
          3.同一次请求
  • 反向代理是一种服务器端的技术,而重定向是一种客户端的技术。
  • 反向代理是将请求从客户端转发到内部服务器,而重定向是将请求从一个URL重定向到另一个URL。
  • 反向代理隐藏了内部服务器的真实细节,而重定向只是告知客户端进行新的请求。
  • 反向代理可以实现负载均衡和高可用性,而重定向常用于处理URL的更改和错误处理。
  • 反向代理可以提供缓存、安全过滤、SSL加密等功能,而重定向只是将请求指向新的URL。

总结提升

需要根据具体的需求和场景选择使用反向代理还是重定向。反向代理适用于需要将请求转发到多个内部服务器、提供负载均衡和安全性的情况。重定向适用于需要更改URL、处理错误或网站重定位的情况。



版权声明:本文为weixin_45490198原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。