标签:状态 技术 报文 轻量 设计 情况下 img 丢失 持久连接
(传输层解释)
1.数据包更小,udp数据包大小小于TCP。UDP头部是8个字节,TCP是20个字节。
2、udp是无连接
3、udp在数据发送时提供更多的控制
udp有一个错误检测,带有一个16位的校验和,但是它不可靠,当udo检测到数据损坏的时候,它不会尝试恢复,在大多数情况下,丢失损坏的部分都只是被丢弃,在一些情况下,它会保留损坏的部分,但是给一个警告,UDP不会去补偿丢失的数据包,每个数据包就只会发送一次,udp也不保证数据包按顺序到达,即使网络非常繁忙,udp也不会做拥塞控制。所以我们说udp可能时轻量级的,但是它不那么可靠。
1.更大的头部
2.数据并不总是立即发送(一方面是因为拥塞控制)
3.tcp有重传机制,也有三次握手,保证数据包按顺序到达,保证数据包不丢失,同时还有做拥塞控制。
udp面向是消息,而tcp是面向流的(切分数据包,重组为流)
Protocol(协议),涉及客户端和服务端俩端,客户端发送请求报文,服务端相应报文。
特别注意:方法和状态码
1、默认端口 80
2、Http是直接提供用户访问资源的一种协议,这也能说明为什么HTTP是属于应用层。
3、HTTP也需要传输层协议来配合它定义传输数据的方式,在传输层里选择协议(和HTTP配合的是TCP)
4、每个报文只能写一个URL,即一次只能写一个资源路径,一次只能获取一个文件,服务器可以对请求逐个处理,每处理完一个就关闭连接,即非持久连接
随着互联网的发展,在Http1.1中,默认为持久连接,服务器返回消息后,客户端还可以继续发送下一个请求,没有要发送的了,客户端最后会发送Connection:close首部,进行关闭
HTTP最初设计的时候,服务器一次只处理一条信息,这是可以大大减少服务器的资源消耗,因为很多主机请求服务器,而服务器又要把他们的信息都记录下来,服务器是要崩溃的,所以服务器不会把每个状态都记录下来,也就是HTTP的无状态,但是无状态的话,比如有一个登录功能,用户每次登录都需要重新输入一遍账号密码,这样是非常麻烦的,于是出现了cookie技术,需要在首部字段加上cookie信息:(请求报文:Cookie:xxx,响应报文:set-Cookie:xxx)实现状态管理。
标签:状态 技术 报文 轻量 设计 情况下 img 丢失 持久连接
原文地址:https://www.cnblogs.com/EvansPudding/p/12750804.html