HTTP GET/CONNECT代理区别

编写了一个HTTP高匿代理 <br />本以为编写http代理和上一篇的端口转发差不多的,结果实际一编写起来发现要复杂的多。怎么回事呢,就在于要手动解析http协议。<br />说简单点吧,如果直接用ie上一个网站,用sniffe一看http请求头是这样的。<br /> <br />GET / HTTP/1.1<br />Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/ 阅读详情

HTTP GET/CONNECT代理区别举例:

HTTP Proxy Server :  127.0.0.1 8080
Access Web Site: www.example.com/index.php


1) 无代理:
GET /index.php HTTP/1.1
HOST:
 www.example.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,**;q=0.8
Accept-Language: zh-cn,zh;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: xxxxxx
Cookie: xxxxxx
Cache-Control: max-age=0


2) HTTP GET 代理(HTTP1.0/HTTP1.1都支持) - socket首先与127.0.0.1:8080建立连接
GET http:/www.example.com/index.php HTTP/1.1
HOST:
 www.example.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,**;q=0.8
Accept-Language: zh-cn,zh;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Proxy-Connection: keep-alive
Referer: xxxxxx
Cookie: xxxxxx
Cache-Control: max-age=0


3) HTTP CONNECT代理(只有HTTP1.1支持) - socket首先与127.0.0.1:8080建立连接
CONNECT http:/www.example.com/index.php HTTP/1.1
HOST:
 www.example.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Proxy-Connection: keep-alive
Referer: xxxxxx
Cookie: xxxxxx
Cache-Control: max-age=0


注:HTTP CONNECT是在HTTP1.1协议上才新增的命令,用于支撑https加密。
所以,许多支持http connect的http proxy,比如squid,默认都限制只允许访问外部的443端口,其它端口不提供代理服务。

HTTP CONNECT方法详解:从HTTPS代理到TCP隧道原理与实战 HTTP协议中的代理机制是网络通信的基础组件,它通过在客户端与目标服务器之间建立中间转发节点,实现请求的转发、缓存与安全控制。其核心原理在于解析并重写HTTP请求头,将流量导向指定目标。在需要端到端加密或传输非HTTP协议的场景下,标准HTTP代理转发无法满足需求,此时便需要建立原始TCP连接隧道。CONNECT方法正是HTTP/1.1协议为此定义的特殊请求方法,它要求代理服务器与目标服务器建立直接的TCP连接,并在成功建立后,将自身转变为透明的字节流管道,对后续传输的TLS/SSL握手数据或任何应用层协议 阅读详情

相关推荐

解密HTTP CONNECT隧道:从协议原理到现代代理实践

本文深入解析HTTP CONNECT隧道的协议原理及其在现代代理实践中的应用。从HTTP/1.1时代的诞生背景到现代HTTPS代理、WebSocket代理及云原生环境中的创新用法,详细探讨了CONNECT方法的安全机制、性能优化及常见问题排查。通过代码示例和实战案例,帮助开发者掌握CONNECT隧道的核心技术与最佳实践。

weixin_33716941的博客 398

TCP编程

HTTP/1.1 400 Bad Request

qq_47961911的博客 610

如何使用C#自带的GDI+双缓冲类BufferedGraphics实现双缓冲功能

小白摸索着编写一个上位机界面,将遇到的问题及解决方法记录下,以供后来的小白使用哈。这篇文章解决的问题是在绘图时候的闪烁问题。其中网上有些介绍的设置控制方式controlstyle的方法,这个方法我的理解是比较适合于在一个完整的窗口当中绘图。如果要在一个窗口当中的内部容器或者控件内画图的话就不太适合,通常按照前述的方法设置后没有任何效果。对于在窗口内部的绘图的来说,比较有效的方法是在内存当中开辟一块

z20110411的博客 4795

HttpURLConnection对象和Internet总结如下

HttpURLConnection对象和Internet总结如下

1444

Windows Server双机热备实战:用IIS+ARR+NLB搭建高可用Web服务(附避坑指南)

本文详细介绍了在Windows Server环境下,利用IIS、ARR(Application Request Routing)和NLB(Network Load Balancing)构建高可用Web服务的实战方案。通过双机热备架构,实现从网络层到应用层的全面冗余与智能流量分发,并提供了关键的配置步骤、常见避坑指南及性能调优建议,确保企业级Web服务的连续性与可靠性。

weixin_29210759的博客 384

告别混乱!用Cadence Capture CIS高效管理你的原理图库:以单逻辑器件K9F2G08U0M为例

本文以单逻辑器件K9F2G08U0M为例,详细介绍了如何使用Cadence Capture CIS高效管理原理图库。通过三级分类体系、工程化命名规范和智能检索技术,帮助工程师实现从混乱到有序的转变,提升团队协作效率和设计准确性。

aizhi0169的博客 400

解析HTTP协议中的CONNECT请求

HTTP(Hypertext Transfer Protocol)是一种用于传输超文本的应用层协议。它基于客户端-服务器模型,客户端发起请求,服务器返回响应。HTTP是无状态协议,每个请求都是独立的,服务器不会保留任何客户端的状态信息。

博客 8306

智能座舱语音测试避坑指南:从唤醒率到方言识别,这些场景你测全了吗?

本文深入解析智能座舱语音测试的关键场景与避坑指南,涵盖唤醒率测试、方言识别、多音区交互等复杂场景。通过实战案例与自动化测试方案,帮助开发者全面提升语音系统的可靠性与用户体验,特别关注环境噪声干扰与方言覆盖策略。

weixin_42613501的博客 496

Http协议之CONNECT方法

背景:         无意间发现自己的Fiddler有大量的Tunnel To 的host,遂产生了好奇心,点开了这个session查看一番,发现在Fiddler的详细的请求报文中和我们常见的GET和POST方法的报文很是不同,这是为什么呢?以前从来没见过,或者说,对于HTTP协议不熟的人来说,可能大部分人都不曾用过或者见过这个请求。如下: 在截图的右边的报文部分(如下)我们可以看到这个报文与我们通常使用的GET报文很相似,

qq_23401185的博客 1万+

Widar3.0复现日志(DFSExtractionCode)

需要使用的matlab基本功能

XiaoQiXiaoWei_J的博客 2437

【人工智能】大模型可以分为L0层:基础大模型/通用大模型、L1层:行业大模型、L2层:细分场景模型三个层级

大模型确实可以分为L0、L1、L2三个层级,这种分层架构不仅有助于提升模型的泛化能力和适应性,还能更好地满足不同行业和场景的需求。华为盘古大模型的分层架构(L0、L1、L2)在多个证据中得到了详细描述和验证。例如,华为云盘古大模型3.0明确分为L0基础大模型、L1行业大模型和L2场景模型三层架构。此外,其他来源也一致支持这一分层架构,如用友网络的企业服务大模型、智谱AI的GLM-4系列等。

奶爸的编程之路,也就一周冷个三天 3982

HTTP CONNECT

Web开发中可采用HTTP中的GET、POST、HEAD、CONNECT等方式发送请求等待响应来操作指定的资源。 HTTP请求方法 描述 GET 向指定资源请求数据 POST 向指定资源提交要被处理的数据 PUT 上传指定的URI表示 DELETE 移除指定的资源,请求服务器删除Request-URI所标识的资源。 HEAD 与GET相同但仅返回HTTP报头不返回主体...

JunChow 3153

从4A架构的角度出来 帮我分析一下:数字化转型深水区:企业架构如何成为价值重构的核心引擎?

4A 架构的本质是构建企业的数字神经系统,通过业务感知、数据传输、决策执行、技术支撑的闭环,实现从效率提升到生态重构的质变。正如华为通过该架构实现全球研发资源统一调度,某零售集团借此打造线上线下融合的新零售体系,当业务、数据、应用、技术四个维度形成共振时,企业将获得持续进化的数字免疫力,在不确定的市场环境中保持韧性生长。这一过程不仅需要技术工具的升级,更依赖组织文化的变革 —— 从 “部门墙” 到 “能力网” 的转型,才是数字化转型深水区的终极挑战。

金牌架构师 1046

HTTP代理协议 HTTP/1.1的CONNECT方法

HTTP代理原理 通过HTTP协议与代理服务器建立连接,协议信令中包含要连接到的远程主机的IP和端口号,如果有需要身份验证的话还需要加上授权信息,服务器收到信令后首先进行身份验证,通过后便与远程主机建立连接,连接成功之后会返回给客户端200,表示验证通过,就这么简单,下面是具体的信令格式: CONNECT 124.xxx.xxx.xx:443 HTTP/1.1 //建立http隧道要443...

weixin_30723433的博客 1240

手把手教你完成YOLOv8 PyQt5和PySide6目标检测界面搭建,前台系统+后台管理系统开发实战,可用于大论文凑工作量或毕设必备,全网最详细教程

目标检测是计算机视觉中的重要任务,广泛应用于安防监控、自动驾驶、智能家居等领域。YOLO系列模型由于其高效的检测速度和较高的准确率,成为目标检测任务的首选算法之一。本项目结合 YOLOv8 与 PyQt5,构建了一个图形化界面,便于用户进行目标检测的操作和展示,实现对图片、视频和摄像头的实时目标检测,不仅可以用于大论文的工作量展示,还可以作为毕业设计。支持目标检测、目标分割等模型进来检测

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

HTTP协议 9 种请求方式用途及区别(详解)-- GET、POST、HEAD、OPTIONS、PUT、PATCH、DELETE、TRACE、CONNECT

关于HTTP简介HTTP菜鸟教程 HTTP 请求方法 根据 HTTP 标准,HTTP 请求可以使用多种请求方法。 HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD 方法。 HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。 序号 方法 描述用途 1 GET 【获取资源】本质就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和呈现数据(如HTML文本,或者图片或者视频等)返回给客户端。

demo_yo的博客 3万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

常见的八种http请求方法及GET与POST的区别

http请求与get&post的区别

Kaly_Lee的博客 8332

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

HTTP协议 GET和POST区别 请求响应 Fiddler postman ajax

HTTP请求报文格式 HTTP方法 GET请求 POST请求 GET和POST的区别1.传递信息差别2.语义差别3.设计差别4.缓存差别 URL URL类比 Head Host length和TypeUA(User-Agent)Refer Cookie Cookie从哪里来?Cookie存在哪?Cookie到哪里去? HTTP响应 HTTP状态码 HTTP报文格式构造HTTP求情 GET POST ajax步(Asynchronous Javascript And XML)

qq_60021974的博客 3017

http请求的8种类型以及post和get的区别

http请求的8种类型以及post和get的区别 一、http的8种请求类型: 1、get:请求指定的页面信息,并返回实体主体 2、post:向指定资源提交数据并进行处理请求。数据被包含在请求体中,post请求可能会导致新的资源的建立或已有资源的修改 3、head:类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头 4、options:允许客户端查看服务器的性能 5、put:从客户端向服务器传送的数据取代指定的文档的内容 6、Delete:请求服务器删除指定的页面 7、Trace:回显服务器收

qq_36594235的博客 4073

Http请求方法的区别

一、HttpRequest 请求方法 根据HTTP标准,HTTP请求可以使用多种请求方法。 HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。 HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。 GET 请求指定的页面信息,并返回实体主体。 HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头 POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求

u011790603的博客 2972

http请求的几种类型以及post和get的区别?

8、post 比get 慢,因为post在发送数据前会先将请求头发给服务器进行确认,然后才真正发送数据,get请求直接发送请求头和数据。post是非幂等的,因为每次请求对资源的改变并不是相同的,因此读取同一个资源得到的数据是不同的,且post会对服务器资源进行改变。数据被包含在请求体中,post请求可能会导致新的资源的建立或已有资源的修改。5、因为get请求提交的数据将明文出现在URL上,而post请求参数被包装到请求体中,因此post相对更加安全。put:从客户端向服务器传送的数据取代指定的文档的内容。

2401_83396248的博客 876

掌握常见 HTTP 方法:GET、POST、PUT 到 CONNECT 全面梳理

今天面试还问了除了 get 和 post 方法还有其他请求方法吗,一个都不知道,这里记录下。

m0_73748193的博客 1261

http请求方法(GET、POST、HEAD、OPTIONS、PUT、DELETE、TRACE、CONNECT)

HTTP的1.0版本中只有三种请求方法: GET, POST 和 HEAD方法。 到了1.1版本时,新增加了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。 一、原理区别 https://blog.youkuaiyun.com/potato512/article/details/76696582 GET 请求指定的页面信息,并返回实体主体。 GET...

LinDongTian 1651
上一篇: HTTP代理原理以及HTTP隧道技术
下一篇: Linux wget命令详解
kobejayandy
博客等级 码龄18年 2853粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值