TCP/IP协议族,http

TCP/IP传输协议,即传输控制/网络协议,也叫作网络通讯协议。

TCP/IP协议族是一个网络通讯模型,客户端和服务端的通信过程是基于它的,是一整个网络传输的协议家族,为网际网络的基础架构通信。

TCP/IP协议的组成,四层

  • 应用层。向用户提供应用服务时候的活接口。负责传送各种最终形态的数据。应用层的主要工作就是定义数据格式并按照对应的格式解读数据。(HTTP请求-响应协议、SMTP等)
  • 传输层。负责传输文本数据。(TCP传输控制协议、UDP用户数据报协议等)传输层的主要工作是定义端口,标识应用程序身份,实现端口到端口的通信,TCP协议可以保证数据传输的可靠性。
  • 网络层。分配地址和传输二进制数据。(IP协议等)
  • 数据链路层(网络接口层)

TCP/IP协议在一定程度上参考OSI的体系结构,OSI参考模型(即开放式系统互联),七层

 

图片:https://www.cnblogs.com/wxd0108/p/7687298.html

 

HTTP协议

HTTP协议,超文本传输协议,是处在应用层的协议,由请求和响应构成,且是无状态的协议,明文传输没加密(https有加密),Http协议承载在TCP协议上,基于TCP/IP通信协议传输数据(HTML资源,图片资源),。

无状态协议:对于事务处理没有记忆,无状态意味着如果后续处理需要前面的信息但是没有记录,无法处理。可以通过CooKie和Session绘画保存信息。

http组成,请求报文和响应报文,请求报文:请求行,请求首部字段,请求内容实体;响应报文:状态行,响应首部字段,响应内容实体;

GET和POST

GET请求,用GET传输数据,数据会附在URL之后,以?分格URL和传输数据,多个参数用&链接。传输的数据大小受到URL长度限制。只支持ASCII字符,中文可能乱码。

POST请求,用POST传输数据,POST会把数据放置在HTTP包的包体中。传输大小无限制。用POST更安全。支持标准字符流,可以正确传递中文字符。

TCP协议

UDP  只提供数据的不可靠传递,它一旦把应用程序发给网络层的数据发送出去,就不保留数据备份,所以有时候它被认为是不可靠的数据包协议,但是它也有优点,

无需建立连接,减少了延迟;头部开销小,传输效率高。

TCP  相对UDP则是面向连接的,可靠的,基于字节流的“长连接”的传输层通信协议。(TCP是全双工)

面向连接  就是在传输数据之前,客户端和服务端需要先建立连接才能传输数据,建立连接需要经过三次发包确认连接(三次握手)。

三次握手 

客户端发起连接,询问服务端并发送一个SYN(客户)包给服务端;

服务端收到询问和SYN(客户)包,服务端回复询问返回确认ACK(服务)包,并再发起询问和SYN(服务)包;

客户端收到服务端的确认和询问后 ,回复询问返回确认ACK(客户)包;然后客户端服务端就可以进行数据传输了。

重发超时 在重新发送数据之前,如果在等待确认应答的特定的时间间隔内没有收到确认应答,就会进行数据重发。(tcp会计算出合适的时间间隔,不会无限重发,一定次数后会关闭连接)

应答机制  TCP中,接收端收到发送端的数据时会返回一个已经收到消息的通知(确认应答(ACK)),这也是TCP可靠的原因之一。

发送端将数据发送之后等待接收端的ACK,如果收到看就是发送成功了,没有就是数据丢失,会重发。

窗口控制  发送端不能一直发送数据给接收端,接收端处理能力有限。       

 

转载于:https://www.cnblogs.com/lhh666/p/11530186.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值