为什么 HTTP 代理能够支持 IRC 和 FTP 等协议?

2024-02-05

据我了解,SOCKS 代理仅在 TCP 级别建立连接,而 HTTP 代理则在 HTTP 级别解释流量。因此,SOCKS 代理可以适用于任何类型的协议,而 HTTP 代理只能处理 HTTP 流量。但是为什么像 Squid 这样的 HTTP Proxy 可以支持 IRC、FTP 等协议呢?当我们使用 HTTP 代理进行 IRC 或 FTP 连接时,具体会发生什么?通过 HTTP 协议发送到代理时,包中是否添加了任何元数据?


HTTP 代理如果支持 CONNECT 方法,就能够支持除 HTTP 之外的高级协议,该方法主要用于 HTTPS 连接,以下是 Squid wiki 的描述:

CONNECT 方法是一种通过 HTTP 代理建立任何类型连接的隧道的方法。默认情况下,代理建立到指定服务器的 TCP 连接,以 HTTP 200(连接已建立)响应进行响应,然后在客户端和服务器之间来回传输数据包,而不理解或解释隧道流量

如果客户端软件支持通过启用“HTTP CONNECT”(HTTPS)代理的连接,则它可以是可以与此类代理一起使用的任何高级协议(VPN、SSH、SQL、版本控制等)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 HTTP 代理能够支持 IRC 和 FTP 等协议? 的相关文章

  • 通过SOCKS代理连接Kafka

    我有一个在 AWS 上运行的 Kafka 集群 我想用标准连接到集群卡夫卡控制台消费者从我的应用程序服务器 应用程序服务器可以通过 SOCKS 代理访问互联网 无需身份验证 如何告诉 Kafka 客户端通过代理进行连接 我尝试了很多事情 包
  • 添加对共享类的多个 WCF 服务的服务引用

    我正在尝试将我的 WCF Web 服务拆分为几个服务 而不是一个巨大的服务 但是 Visual Studio Silverlight 客户端 复制了两个服务共享的公共类 这是一个简单的例子来说明我的问题 在此示例中 有两个服务 两者都返回类
  • 使用 flash 或 java servlet 将麦克风数据从浏览器上传到服务器的教程? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 There was a question on how to get data from a microphone on a client
  • 两将协议

    我正在尝试在不可靠的通道上制定一个协议 基本上两方 A 和 B 必须同意做某事 所以这就是两位将军的问题 http en wikipedia org wiki Two Generals 27 Problem 由于没有万无一失的解决方案 我正
  • 如何通过 Ruby 中的代理获取带有用户代理和超时的 URL?

    如果我需要通过某些方式获取 URL 我该如何获取 URLproxy 它必须有一个timeout最大 n 秒 和一个用户代理 require nokogiri require net http require rexml document d
  • 以下 Android HTTP 示例/教程 - 为网络活动实现异步任务的问题

    我正在尝试遵循有关发布 HTTP 数据的教程 但是由于 IO 线程上的网络活动 它强制关闭主线程 因此我尝试实现 AsyncTask 正如其他几个有用的 SO 用户所建议的那样 但是我已经屠宰了代码 整个辣酱玉米卷饼的力量就向我逼近了 ht
  • 基于非 HTTP 协议的 REST 示例

    REST 在 HTTP 之外的其他协议上的工作效果如何 对于使用 REST 或可能使用 REST 的协议 是否有任何好的示例 我认为你不会找到很多 但是here https datatracker ietf org doc draft ie
  • 是否可以检测 http git 远程是智能还是愚蠢?

    我正在我的应用程序中实现一个选项来使用 depth 1制作 git repo 的最小功能克隆 我刚刚意识到愚蠢的 http 传输不支持 depth 我想自动检测 http 远程是愚蠢的还是聪明的 这样我就可以省略 depth与哑 http
  • 同源政策目的可疑

    正如我所读到的 同源策略是防止源自 邪恶 域 A 的脚本向 良好 域 B 发出请求 换句话说 跨站点请求伪造 玩了一下我了解到的Access Control Allow Origin标头和CORS据我了解 它允许从好域 B 指定服务器 域
  • Go客户端程序生成大量TIME_WAIT状态的socket

    我有一个 Go 程序 它从多个 goroutine 生成大量 HTTP 请求 运行一段时间后 程序报错 connect cannot allocaterequestedaddress 当检查时netstat 我得到大量 28229 个连接T
  • 客户端/服务器使用哪些 Cache-Control 标头值?

    我试图了解哪些值Cache Control将在请求中使用 并将在响应中使用 This https stackoverflow com questions 42652931 why use cache control header in re
  • 在 Android Studio 中设置 Http 代理

    我已经阅读了多个类似的问题和文档 但我无法解决我的机器所在的公司防火墙的问题 我收到的错误是 无法刷新 Gradle 项目 未知主机 services gradle org 我所阅读和理解的所有内容都让我相信这是一个 http 代理问题 我
  • 为什么我在将数据上传到数据库时不断看到“正在重置断开的连接”?

    我正在通过 REST API 将数亿个项目从 Heroku 上的云服务器上传到 AWS EC2 中的数据库 我正在使用 Python 并且经常在日志中看到以下 INFO 日志消息 requests packages urllib3 conn
  • 为 REST API 编写单元测试的最佳方法是什么?

    在为 API 包装器编写单元测试时 我应该对 REST API 端点进行真正的调用 还是应该使用 mocl 响应来模拟成功和错误的调用 单元测试意味着只测试你的unit API 包装器 仅此而已 因此 不幸的是 您应该模拟整个 API 另一
  • 使用 Angularjs,$http 在 Microsoft Edge 中发布返回响应错误

    好吧 当我开发一个管理页面进行测试时 Microsoft Edge 中出现了一个奇怪的问题 这是从loginCtrl js服务器获取响应的部分源代码 http method POST url Define apiUrl admin logi
  • 不加载隐藏图像

    我的网站上有一堆隐藏图像 它们的容器 DIV 具有 style display none 根据用户的操作 某些图像可能会通过 JavaScript 显示 问题是我的所有图像都是在打开页面时加载的 我想通过仅加载最终可见的图像来减轻服务器的压
  • Python 代理设置

    我使用的是维基百科模块 您可以在其中获取维基百科上有关该主题的信息 当我运行代码时 由于代理而无法连接 当我将电脑连接到无代理网络时 它可以正常工作 使用 Beautiful soup 模块进行抓取时也会发生这种情况 我尝试设置环境变量 例
  • 如何防止 Firefox 缓存

    我尝试了很多可能的解决方案 但无法解决问题 这些不起作用 有人可以帮忙吗 我正在使用jsp servlet application 是websphere Portal 6 1 的一个portlet 切勿
  • 使用:text/plain; 有什么缺点吗?字符集=“UTF-8”

    我的网络服务器提供的内容在 95 的情况下只是简单的 ascii 但在极少数情况下 内容包含一些德语非 ASCII 字符 现在我可以设置content type通过检测内容是否包含任何非 ASCII 字符来响应标头 或者我可以始终设置响应标
  • 如何在 G-WAN 中添加 HTTP/2

    我想知道是否可以通过使用解决方案 nghttp2 https nghttp2 org https nghttp2 org 很抱歉这么晚才回答 出于某种原因 Stackoverflow 没有通知我们这个问题 我之所以找到它只是因为收到了更新的

随机推荐

  • X-Macros 的实际使用

    我刚刚了解到X Macros http en wikibooks org wiki C Programming Preprocessor X Macros 您见过 X 宏在现实世界中的哪些用途 它们什么时候是适合这项工作的工具 几年前 当我
  • Spark中是否可以插入临时表?

    我使用 Databricks 和 Apache Spark 2 4 测试了以下查询 sql
  • 解析时间戳以与 CW Log Insights 函数一起使用

    尝试使用内置的 Cloudwatch Log 功能 例如 日期楼层 带有像 2020 03 24T19 03 34 645Z 这样的 8601 时间戳字符串会返回一个 失效日期 Cloudwatch Log Insights 中出现错误 有
  • 在 React Native 中使用 python 库

    我想在 React Native 应用程序中使用一些 Python 库 用于机器学习等 是否可以在不使用服务器的情况下完成此操作 即在移动应用程序中运行 Python 代码 从而不需要互联网 React Native 应用程序由两个主要部分
  • 原子比较、多处理器、C/C++ (Linux)

    我在多台共享内存 x 中有一个变量处理器 system void MyFunction volatile int x if x 0 do something 其他进程 可能在不同的处理器上 将使用 gcc 内置原子操作 例如 sync bo
  • 计算 TimescaleDB 中值相对于上次读数的变化

    我在 TimescaleDB 中存储了有关一组电池的时间序列数据 这些数据记录了每个电池每次的 充电状态 我没有测量流入和流出的流量 只有瞬时充电状态 从这些数据中 我想找到每次充电状态的变化 稍后我将把它存储在几个小时内的消耗中 在做了一
  • 让节点不退出的更好方法?

    在节点程序中 我正在从文件流中读取fs createReadStream 但是当我暂停流时 程序退出 我认为程序会继续运行 因为文件仍然打开 只是没有被读取 目前 为了让它不退出 我设置了一个不执行任何操作的间隔 setInterval f
  • Apache Ant 在运行此脚本时被冻结

    我想显示 ant 脚本的密码输入对话框 这是我的代码构建 xml
  • LSTM中的input_shape和batch_input_shape有什么区别

    这只是设置同一事物的不同方式还是它们实际上具有不同的含义 和网络配置有关系吗 在一个简单的例子中 我无法观察到以下之间的任何区别 model Sequential model add LSTM 1 batch input shape Non
  • 在顶级 React 组件中共享状态

    我需要在页面的不同部分使用 React 但共享相同的状态 所以我在顶层做了这个 ReactDOM render
  • 如何覆盖现有的 zsh 键盘补全?

    我想让 zsh 能够自动完成 yast2 一个 OpenSuSE 控制面板 的模块 但它似乎已经定义了一些东西 我可以跑 compctl k hello world nonexistantprogram 很好 但是 compctl k he
  • 如何在 Windows 7 上向 Tomcat 添加 jvm 选项

    如何在 Windows 7 上向 Tomcat 添加 jvm 选项 顺便说一句 我正在使用 Tomcat 7 我将 jvm 选项添加到了第一行catalina bat文件但它不起作用 我想我做错了什么 有什么想法吗 创建文件bin sete
  • 定位警告来源的最佳方法:传递给 getElementById() 的空字符串

    警告 传递给 getElementById 的空字符串 源文件 chrome browser content browser xul线路 0 几天前 我在开发网站时开始收到上述消息 事情正在按其应有的方式进行 或者至少我认为是这样 但我想找
  • 带参数的Javascript回调函数[重复]

    这个问题在这里已经有答案了 这个问题看起来像重复的 因为标题几乎是重复的 但是 我的问题似乎更简单 我找不到答案 我有一个执行另一个回调函数的 Javascript 函数 它的工作原理如下 其中回调函数定义为 callbackfunctio
  • 来自 IDA 的 x86 asm 中的方括号

    我使用IDA Starter反汇编了一个Windows程序 在生成的汇编代码中有一些我不明白的东西 mov eax dword 4033CC eax 4 我的问题是 这样做的目的是什么方括号 is 我找到了这个其他问题 https stac
  • 在 vscode 中以编程方式执行“转到文件中的符号”?

    是否可以从扩展跳转到文件中的现有符号 类似的东西 goToSymbol symbol string 附 我不想提供DocumentSymbolProvider 如何利用现有的 async function getSymbols docume
  • R ggplot2:条形内的标签,没有堆叠的geom_bar

    我有以下数据集 data lt structure list Q14 c lt 5 people gt 11 people 6 10 people NA count c 148L 13L 34L 21L var c Team Size Te
  • 根据上次某些条件成立的时间,将一列中的数据与另一行对齐

    我正在尝试解析数百万行存在缺陷的日志文件 与单个事件相关的数据可以跨日志条目拆分 但没有直接链接可以将多行数据重新排列为单行 相反 我必须推断这种关系 简要背景 我关心的对象有4个 会被修改很多次 有一个由 8 个线程组成的线程池 它将随机
  • Android Framework 小部件及其 AppCompat 版本之间的差异

    我最近注意到 Android 中的大多数视图类型都有 AppCompat 版本 例如ListView ListViewCompat Button AppCompatButton etc 对于这些更简单的View 不包括例如SwitchCom
  • 为什么 HTTP 代理能够支持 IRC 和 FTP 等协议?

    据我了解 SOCKS 代理仅在 TCP 级别建立连接 而 HTTP 代理则在 HTTP 级别解释流量 因此 SOCKS 代理可以适用于任何类型的协议 而 HTTP 代理只能处理 HTTP 流量 但是为什么像 Squid 这样的 HTTP P