说到http代理,很多小伙伴会跟更大的IP代理混为一谈,最直白的差别,HTTP代理更多的是为技术员服务,而IP代理大部分是通过软件服务与普通用户。
HTTP代理属于HTTP代理协议的一种称谓,其实准确的说还包括了SOCKS5协议,HTTPS协议。
HTTP协议:是最常见到的一种代理方式,主要是代理浏览器进行访问页面。
HTTPS协议(SSL协议):SSL 代理也叫做 HTTPS 代理,为了保护敏感数据在互联网传送中的安全性,越来越多的网站都采用 SSL 加密形式发布。
SOCKS5(SOCKET的一种):SOCKS 代理的正是 Socket,它支持多种协议,支持 HTTP 、FTP 等多种类型请求。它分SOCKS 4 和SOCKS 5两种类型,SOCKS 4只支持 TCP 协议而 SOCKS 5支持 TCP/UDP 协议,还支持各种身份验证机制等协议。
HTTP 代理存在两种形式,分别简单介绍如下:
第一种是 RFC 7230 - HTTP/1.1: Message Syntax and Routing(即修订后的 RFC 2616,HTTP/1.1 协议的第一部分)描述的普通代理。这种代理扮演的是「中间人」角色,对于连接到它的客户端来说,它是服务端;对于要连接的服务端来说,它是客户端。它就负责在两端之间来回传送 HTTP 报文。
第二种是 Tunneling TCP based protocols through Web proxy servers(通过 Web 代理服务器用隧道方式传输基于 TCP 的协议)描述的隧道代理。它通过 HTTP 协议正文部分(Body)完成通讯,以 HTTP 的方式实现任意基于 TCP 的应用层协议代理。这种代理使用 HTTP 的 CONNECT 方法建立连接,但 CONNECT 最开始并不是 RFC 2616 - HTTP/1.1 的一部分,直到 2014 年发布的 HTTP/1.1 修订版中,才增加了对 CONNECT 及隧道代理的描述,详见 RFC 7231 - HTTP/1.1: Semantics and Content。实际上这种代理早就被广泛实现。
只是大家叫着叫着就习惯了,所以都混为一谈了,OK,我们言归正传。