什么是 Proxy?
目录
Proxy 的作用
1. 流量过滤
2. 记录日志
3. 加快访问速度
4. 隐藏 IP 地址
Proxy 的分类
1. 按协议分类
- HTTP 代理:只支持 HTTP 协议的代理服务器,它可以缓存 HTTP 请求和响应并过滤 HTTP 流量。
- FTP 代理:只支持 FTP 协议的代理服务器,它可以过滤 FTP 流量并缓存 FTP 文件。
- SOCKS 代理:通常用于路由 UDP 和 TCP 流量,特别是通过防火墙和 NAT 网络使用的流量。这种代理没有协议限制,可以随意使用。
- SSL 代理:通常用于安全网站的访问,SSL 协议允许代理服务器拦截传输的数据并进行解密以进行内容过滤和安全审计。
- SMTP 代理:只支持 SMTP 协议的代理服务器,它可以过滤和缓存邮件流量。
2. 按功能分类
- 正向代理:代替客户端向服务器发起请求。例如,某些团体提供的 VPN 和代理服务器可以让用户从任何位置连接至 Internet 并隐藏他们的 IP 地址。
- 反向代理:代替服务器响应客户端的请求。例如,使用反向代理的负载均衡器会将客户端请求发送到多个服务器,以便在不同服务器上均衡负载并提高响应速度。
- 透明代理:不需要客户端进行任何配置就可以使用的代理服务器。它是对客户端不可见的代理服务器,如果不小心使用它,可能会泄露用户的隐私。
- 匿名代理:隐藏客户端的 IP 地址,但仍然允许目标服务器看到代理服务器的 IP 地址。
- 高匿代理:隐藏了客户端的 IP 地址,并且代理服务器的 IP 地址也不会被目标服务器看到。
3. 按安全性分类
- 透明代理:易受攻击,因为它们允许未经授权的用户访问受保护的网络资源。
- 身份验证代理:要求用户提供身份验证凭据,这可以减少非法访问的风险。
- Socks5 代理:使用加密算法协商,为客户端和服务器之间的安全通信提供保护。
Proxy 的代码示例
总结
Proxy 代表“代理”,是计算机网络中的一个概念。代理是一种网络应用程序,它可以充当客户端或服务器的“代理”或“中间人”,以便在两个或多个点之间传递流量。通过使用代理,客户端和服务器可以在互联网上进行通信而不直接连接。此外,代理还可以过滤流量、记录日志、缓存文件等。
代理服务器是一种常见的代理类型,它可以过滤流量、记录请求和响应等。代理服务器通常在网络边缘部署,以便能够监视并过滤进出网络的流量。代理服务器还可以缓存响应,从而提高访问速度和减轻网络拥塞。
Proxy 的作用
代理服务器有很多用途。以下是一些常见的用途:
1. 流量过滤
代理服务器可以过滤流量,禁止访问特定网站或服务。它可以监测网络活动并根据设定的规则阻止非法的行为。
2. 记录日志
代理服务器可以记录所有传入和传出的 HTTP 请求和响应。这些日志可以用于网络安全审核以及对网络流量进行分析。
3. 加快访问速度
代理服务器可以缓存常用的资源,从而减少资源的响应时间。它可以在响应之前拦截请求并返回已经缓存的响应,从而加快访问速度。
4. 隐藏 IP 地址
代理服务器可以隐藏客户端的真实 IP 地址,从而保护用户的隐私。它可以代表客户端向网络上的其他服务发起请求,从而隐藏客户端的真实 IP 地址。
Proxy 的分类
Proxy 的分类方法可以按照使用协议、功能和安全性等多种方式。下面是常见的分类方式:
1. 按协议分类
代理服务器可以根据代理协议的类型进行分类,例如:
- HTTP 代理:只支持 HTTP 协议的代理服务器,它可以缓存 HTTP 请求和响应并过滤 HTTP 流量。
- FTP 代理:只支持 FTP 协议的代理服务器,它可以过滤 FTP 流量并缓存 FTP 文件。
- SOCKS 代理:通常用于路由 UDP 和 TCP 流量,特别是通过防火墙和 NAT 网络使用的流量。这种代理没有协议限制,可以随意使用。
- SSL 代理:通常用于安全网站的访问,SSL 协议允许代理服务器拦截传输的数据并进行解密以进行内容过滤和安全审计。
- SMTP 代理:只支持 SMTP 协议的代理服务器,它可以过滤和缓存邮件流量。
2. 按功能分类
代理服务器可以根据其功能进行分类,例如:
- 正向代理:代替客户端向服务器发起请求。例如,某些团体提供的 VPN 和代理服务器可以让用户从任何位置连接至 Internet 并隐藏他们的 IP 地址。
- 反向代理:代替服务器响应客户端的请求。例如,使用反向代理的负载均衡器会将客户端请求发送到多个服务器,以便在不同服务器上均衡负载并提高响应速度。
- 透明代理:不需要客户端进行任何配置就可以使用的代理服务器。它是对客户端不可见的代理服务器,如果不小心使用它,可能会泄露用户的隐私。
- 匿名代理:隐藏客户端的 IP 地址,但仍然允许目标服务器看到代理服务器的 IP 地址。
- 高匿代理:隐藏了客户端的 IP 地址,并且代理服务器的 IP 地址也不会被目标服务器看到。
3. 按安全性分类
代理服务器还可以根据其安全性进行分类,例如:
- 透明代理:易受攻击,因为它们允许未经授权的用户访问受保护的网络资源。
- 身份验证代理:要求用户提供身份验证凭据,这可以减少非法访问的风险。
- Socks5 代理:使用加密算法协商,为客户端和服务器之间的安全通信提供保护。
Proxy 的代码示例
const target = {name: 'John',age: 30
};const handler = {get(target, property) {console.log(`Getting property: ${property}`);return target[property];},set(target, property, value) {console.log(`Setting property: ${property} to ${value}`);target[property] = value;}
};const proxy = new Proxy(target, handler);proxy.name; // Output: "Getting property: name",返回 "John"
proxy.age = 31; // Output: "Setting property: age to 31"
总结
代理是网络中一个非常重要的概念,它可以帮助客户端和服务器之间进行通信,过滤流量、记录日志、缓存文件等。代理服务器可以根据代理协议的类型、功能和安全性等进行分类。Python 中的 requests 库提供了简单易用的代理支持,可以轻松地使用代理服务器进行网络请求。
相关文章:
什么是 Proxy?
目录 Proxy 的作用 1. 流量过滤 2. 记录日志 3. 加快访问速度 4. 隐藏 IP 地址 Proxy 的分类 1. 按协议分类 - HTTP 代理:只支持 HTTP 协议的代理服务器,它可以缓存 HTTP 请求和响应并过滤 HTTP 流量。 - FTP 代理:只支持 FTP 协议的…...
Vue系列:Vue Element UI中,使用按钮实现视频的播放、停止、停止后继续播放、播放完成后重新播放功能
最近在工作中有个政务大屏用到了视频播放; 技术栈是Vue2、Element UI; 要实现的功能是:使用按钮实现视频的播放、停止、停止后继续播放、播放完成后重新播放功能 具体可以按照以下步骤进行操作: 引入插件: 在Vue组件…...

.Net 8 Blazor下 Auto交互渲染模式试用
一、环境 C:\Users\zhuji>dotnet --version 8.0.100C:\Users\zhuji>dotnet --list-sdks 5.0.403 [C:\Program Files\dotnet\sdk] 6.0.404 [C:\Program Files\dotnet\sdk] 8.0.100 [C:\Program Files\dotnet\sdk] Microsoft Visual Studio Enterprise 2022 (64 位) - Cu…...

AndroidStudio - 新版本 Logcat 使用详解
最近这俩天正好有时间给自己做一下减法,忘记是去年还是今年,在升级 AndroidStudio 后使用 Logcat查看日志的方式也发生了一些变化,虽然一直在使用,但每当看到之前还未关闭 Logcat 命令行工具额昂也,就感觉可能还存在知…...
Webpack ECMAScript 模块
文章目录 前言标题一导出导入将模块标记为 ESM 后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:webpack 🐱👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现错误&a…...

knife4j集合化postman
knife4j集合化postman 01 knife4j的介绍 基于 JavaMVC的集成框架swagger的进一步强化,在原有通过注释就能生成文档的前身swagger-bootstrap-ui之上,增加了postman的测试功能,优化了文档的UI界面,在测试api接口的方面有了极大的进…...
MongoDB的原子性和多文档事务处理
原子性和事务处理是数据库操作的核心,保证了数据的准确性。依据数据库原子性,数据库和使用数据库的人员定义事务处理的方式。本文依据Mongodb的官方文档,整理Mongodb数据库的原子性和事务处理方法。 Mongodb的原子操作 Mongodb中,…...

代理模式 1、静态代理 2、动态代理 jdk自带动态代理 3、Cglib代理
文章目录 代理模式1、静态代理2、动态代理jdk自带动态代理 3、Cglib代理 来和大家聊聊代理模式 代理模式 代理模式:即通过代理对象访问目标对象,实现目标对象的方法。这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操…...

ELK+filebeat+kafka
无需创建logstash的端口,直接创建topic 远程收集mysql和httpd的日志 (一)安装nginx和mysql服务 1、打开mysql的日志功能 2、创建日志(创库、创表、添加数据) (1)mysql服务器上安装http system…...
LLVM学习笔记(63)
4.4.3.3.2.3. 向量操作数类型的处理 下面开始处理向量类型。在默认情形下这些操作都会拆分为更小的操作或者调用库。 X86TargetLowering::X86TargetLowering(续) 667 // Some FP actions are always expanded for vector types. 668 for…...

【python+requests】接口自动化测试
这两天一直在找直接用python做接口自动化的方法,在网上也搜了一些博客参考,今天自己动手试了一下。 一、整体结构 上图是项目的目录结构,下面主要介绍下每个目录的作用。 Common:公共方法:主要放置公共的操作的类,比如数据库sql…...

plt创建指定色系
1、创建不连续色系 import matplotlib.pyplot as plt from matplotlib.colors import ListedColormap# 定义颜色的RGB值 colors [(0.2, 0.4, 0.6), # 蓝色(0.8, 0.1, 0.3), # 红色(0.5, 0.7, 0.2),(0.3,0.5,0.8)] # 绿色# 创建色系 cmap ListedColormap(colors)# 绘制…...

Java多线程-第20章
Java多线程-第20章 1.创建线程 Java是一种支持多线程编程的编程语言。多线程是指在同一程序中同时执行多个独立任务的能力。在Java中,线程是一种轻量级的子进程,它是程序中的最小执行单元。Java的多线程编程可以通过两种方式实现:继承Threa…...

寿险公司通过开源治理保障数字创新,安全打通高质量服务新通道
某寿险公司致力于为消费者提供人性化的产品和服务,在中国保险市场中始终保持前列。该寿险公司以挖掘和满足客户需求为出发点,从产品开发、渠道销售、运营流程和售后服务等各环节,借助数字化工具,不断地努力探索并提升服务品质。 精…...

SpringBoot中的部分注解
1.SpringBoot/spring SpringBootApplication: 包含Configuration、EnableAutoConfiguration、ComponentScan通常用在主类上; Repository: 用于标注数据访问组件,即DAO组件; Service: 用于标注业务层组件; RestController: 用…...
蓝桥杯-02-蓝桥杯C/C++组考点与14届真题
文章目录 蓝桥杯C/C组考点与14届真题参考资源C/C组考点1. 组别2. 竞赛赛程3. 竞赛形式4. 参赛选手机器环境5. 试题形式5.1. 结果填空题5.2. 编程大题 6. 试题考查范围7. 答案提交8. 评分9. 样题样题 1:矩形切割(结果填空题)样题 2:…...
计算机杂谈系列精讲100篇-【计算机应用】关于TensorFlow和PyTorch的一些看法
目录 前言 知识储备 PyTorch使用高频代码 导入包和版本查询...
Uni-App知识点
文章目录 一、事件总线二、什么是事件总线三、触发事件1、监听事件2、只监听一次3、移除监听4、触发事件注意事项5、代码示例6、注意事项 一、事件总线 除了父子组件传参之外,兄弟组件之间共享信息也是我们经常会遇到的。如果遇到这类问题,我们现在可以…...

Postman如何使用(四):接口测试
一.接口 1.程序内部接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如bbs系统,有登录模块,发帖模块等等,那你要发帖就必须先登录,那么这两个模块就得有交互&#…...

【Qt绘图】之绘制坦克
使用绘图事件,绘制坦克。 效果 效果很逼真,想象力,有没有。 示例 代码像诗一样优雅,有没有。 包含头文件 #include <QApplication> #include <QWidget> #include <QPainter>绘制坦克类 class TankWidge…...

Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...

linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...