网络知识(三)socket、Tcp、Http之间的区别和联系

Socket是网络通信的基础,是对TCP/IP的封装,而HTTP是基于TCP的应用层协议。HTTP协议的特点是每次请求后会关闭连接,适合上传下载等一次性交互;而Socket是长连接,适用于需要持续通信的场景,如在线聊天。HTTP1.1支持一次连接处理多个请求。TCP/IP协议族包括多种协议,如FTP、SMTP等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.什么是socket

socket就是套接字,是网络通信的基石,是支持TCP/IP通信的基本操作单元。
socket对程序员来说就是对Tcp/ip的封装,因为无法直接操控TCP/ip来进行通信。
socket是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。(其实就是bind绑定)

2.如何进行socket连接

(1)建立一对socket() 函数一个运行在client 一个运行在server。
(2)使用bind函数进行绑定
(3)监听 客户端请求连接 接受

3.HTTP协议(基于TCP)

3.1概念

HTTP协议是超文本传输协议,是web通信的基础,是建立在TCP协议上的一种应用,属于应用层协议

3.2特点

客户端发送的每次请求服务器都需要回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。

(1)在HTTP 1.0中,客户端的每次请求都要求建立一次单独的连接,在处理完本次请求后,就自动释放连接。
(2)在HTTP> 1.1中,则可以在一次连接中处理多个请求,并且多个请求可以重叠进行,不需要等待一个请求结束后再发送下一个请求。
由于HTTP在每次请求结束后服务端都会主动释放连接,因此HTTP连接是一种“短连接”,要保持客户端程序的在线状态,客户端需要向服务器不断地发起连接请求。 socket是长连接。
若服务器长时间无法收到客户端的请求,则认为客户端“下线”,若客户端长时间无法收到服务器的回复,则认为网络已经断开。

通常的做法是即使不需要获得任何数据,客户端也保持每隔一段固定的时间向服务器发送一保持连接的请求(心跳包),服务器在收到该请求后对客户端进行回复,表明知道客户端“在线”。

4.TCP/IP协议族

TCP/IP并不是只有TCP协议和IP协议。而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇。

5.HTTP Socket TCP的联系和区别

(1)socket是tcp的封装
(2)Http基于Tcp
(3)socket是长连接,http是短连接
(4)socket 在会话层
(5)Http在应用层
(6)tcp在传输层

5.什么时候用Http什么时候用socket

Http:在双方不需要时刻保持连接,比如上传和下载文件
Socket:双方需要时刻保持,比如在线聊天。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值