很多刚接触互联网的朋友会对于http代理IP和socks5代理IP的使用不太明白,有这样的疑问:socks5代理IP可以用http(s)协议吗?http代理IP可以用socks5协议吗?如果明白这些,我们需要看下http连接和socket连接有什么不同。

 

首先我们需要熟悉网络七层:

 

网络七层协议

 

HTTP 协议:超文本传输协议,对应于应用层,用于如何封装数据。

 

TCP/UDP 协议:传输控制协议,对应于传输层,主要解决数据在网络中的传输。

 

IP 协议:对应于网络层,同样解决数据在网络中的传输。

 

传输数据的时候只使用 TCP/IP 协议(传输层),如果没有应用层来识别数据内容,传输后的协议都是无用的。

 

应用层协议很多 FTP,HTTP,TELNET等,可以自己定义应用层协议。

 

web 使用 HTTP 作传输层协议,以封装 HTTP 文本信息,然后使用 TCP/IP 做传输层协议,将数据发送到网络上。


 11.191.png


一、HTTP 协议

 

http 为短连接:客户端发送请求都需要服务器端回送响应.请求结束后,主动释放链接,因此为短连接。通常的做法是,不需要任何数据,也要保持每隔一段时间向服务器发送"保持连接"的请求。这样可以保证客户端在服务器端是"上线"状态。

 

二、Socket 连接

 

要想明白 Socket,必须要理解 TCP 连接。

 

TCP 三次握手:握手过程中并不传输数据,在握手后服务器与客户端才开始传输数据,理想状态下,TCP 连接一旦建立,在通讯双方中的任何一方主动断开连接之前 TCP 连接会一直保持下去。

 

Socket 是对 TCP/IP 协议的封装,Socket 只是个接口不是协议,通过 Socket 我们才能使用 TCP/IP 协议,除了 TCP,也可以使用 UDP 协议来传递数据。

 

创建 Socket 连接的时候,可以指定传输层协议,可以是 TCP 或者 UDP,当用 TCP 连接,该Socket就是个TCP连接,反之亦然。

 

三、SOCKET连接与TCP连接

 

创建Socket连接时,可以指定使用的传输层协议,Socket可以支持不同的传输层协议(TCP或UDP),当使用TCP协议进行连接时,该Socket连接就是一个TCP连接。

 

四、Socket连接与HTTP连接

 

Socket为长连接:通常情况下Socket 连接就是 TCP 连接,因此 Socket 连接一旦建立,通讯双方开始互发数据内容,直到双方断开连接。在实际应用中,由于网络节点过多,在传输过程中,会被节点断开连接,因此要通过轮询高速网络,该节点处于活跃状态。

 

HTTP连接使用的是"请求-响应"方式,不仅在请求时建立连接,而且客户端向服务器端请求后,服务器才返回数据。

 

很多情况下,需要服务器端主动向客户端推送数据,保持客户端与服务器数据的实时与同步。此时若双方建立的是Socket连接,服务器就可以直接将数据传送给客户端;若双方建立的是HTTP连接,则服务器需要等到客户端发送一次请求后才能将数据传回给客户端,因此,客户端定时向服务器端发送连接请求,不仅可以保持在线,同时也是在“询问”服务器是否有新的数据,如果有就将数据传给客户端。IPIDEA都有包含HTTP/HTTPS/SOCKS5并且ip资源源于全球240+国家地区,支持自定义提取,IP纯净安全。

 


上一篇:爬虫代理IP效果不佳的原因分析

下一篇:使用IP代理工具的意义