CBV加装饰器与正反向代理简介

39 篇文章 0 订阅
27 篇文章 3 订阅

一.CBV加装饰器

  • 可以给类添加装饰器

  • 可以在方法上添加装饰器

from django.views import View
from django.utils.decorators import method_decorator

# 第一种写法:直接加在类上
# 第一个参数是装饰器引用,第二个参数是被装饰对象的方法
# @method_decorator(auth,name='get')
class MyViews(View):
    # 第二种写法:指名道姓的加在方法上(不需要指定方法名name)
    @method_decorator(auth)
    def get(self, request, *args, **kwargs):
        return HttpResponse('触发get')

    def post(self, request, *args, **kwargs):
        return HttpResponse('触发post')

二.正反向代理简介

1.什么代理

  • 代理其实就是一个中介,A和B本来可以直连,中间插入一个C,C就是中介
  • 刚开始的时候,代理多数是帮助内网client访问外网server用的
  • 后来出现了反向代理,"反向"这个词在这儿的意思其实是指方向相反,即代理将来自外网客户端的请求转发到内网服务器,从外到内

三.正向代理

1.正向代理原理

  • 正向代理类似于一个中转站
  • 国内不能直接访问到外网, 我们可以通过一台正向代理服务器(可以访问外网), 将请求发送到该服务器上, 服务器帮我们去外网拿数据, 再返回给我们, 这样我们就间接的访问了外网资源

image-20210404150517795

2.正向代理的作用(运用场景)

  • 借助中转访问无法访问的资源, 比如google
  • 可以做缓存, 加速访问资源
  • 对客户端进行访问授权, 上网进行认证
  • 代理可以记录用户端的访问记录, 对外隐藏用户信息(上网行为进行管理)

3.举例

  • 买票找黄牛

四.反向代理

1.反向代理原理

  • 反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受internet上的连接请求
  • 然后将请求转发给内部网络上的服务器(内部可以有好多台),并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器

image-20210404151205638

2.反向代理的作用

  • 保证内网的安全,阻止web攻击,大型网站,通常将反向代理作为公网访问地址,Web服务器是内网

  • 负载均衡,通过反向代理服务器来优化网站的负载

3.举例

  • 比如我们访问天猫、淘宝等平台, 我们访问的只是一个对外的ip地址, 也就是一台服务器, 二他们内部不可能只使用一台服务器来存放用户信息, 内部一定是有许多服务器的, 而我们访问的对外的这台服务器就是作为反向代理服务器来使用的, 将用户的请求转发到内网各个服务器中去
  • 再比如我们使用租房软件选择房源, 我们相当于是一个客户端, 租房软件就相当于一个反向代理服务器, 它身后掌握着许多的房源, 但我们面对的只是租房软件(类似于一对多)

五.正反向代理总结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

给你骨质唱疏松

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值