socks5

首先理解三个名词 http socket socks

http 属于应用层协议,是基于 TCP 连接的;而 socket 是属于 TCP/IP 协议封装的,其本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。可以讲 socket 看做网络通信过程中端点的抽象表示,他包含网络通信必须的五种信息:使用的协议,本地IP地址,本地port,远程IP地址,远程的port。

  • http协议:就是所谓的短链接,即客户端向服务端发送一次请求后,服务端响应后连接即会断掉。

  • socket:就是所谓的长连接,理论上客户端和服务端一旦建立连接,则不会主动断掉;但是由于各种环境因素可能会是连接断开,比如说:服务器端或客户端主机down了,网络故障,或者两者之间长时间没有数据传输,网络防火墙可能会断开该链接已释放网络资源。所以当一个socket连接中没有数据的传输,那么为了位置连续的连接需要发送心跳消息,具体心跳消息格式是开发者自己定义的。

  • sockts是防火墙安全会话转换协议(Protocol for sessions traversal across firewall securely),是客户端和服务端之间的代理协议。

HTTP的长连接一般就只能坚持一分钟而已,而且是浏览器决定的,你的页面很难控制这个行为。Socket连接就可以维持很久,几天、数月都有可能,只要网络不断、程序不结束,而且是可以编程灵活控制的。

参考文献

  1. https://www.cnblogs.com/aspirant/p/11334957.html
  2. https://wiyi.org/socks5-protocol-in-deep.html
posted @ 2023-09-10 06:30  沧海一声笑rush  阅读(42)  评论(0编辑  收藏  举报