一个完整的业务可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这个就是TCP的拆包和粘包问题。
原因:
解决方案:
原因:
实现方法:
客户端发送的 请求报文 第一行为请求行,包含了方法字段。
根据 HTTP 标准,HTTP 请求可以使用多种请求方法。
HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。
如果维持连接,一个 TCP 连接是可以发送多个 HTTP 请求的。
物理层: RJ45、CLOCK、IEEE802.3(中继器,集线器,网关)
数据链路: PPP、FR、HDLC、VLAN、MAC(网桥,交换机)
网络层: IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、(路由器)
传输层: TCP、UDP、SPX
会话层: NFS、SQL、NETBIOS、RPC
表示层: JPEG、MPEG、ASII
应用层: FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS
TCP对应的协议:
(1)FTP:定义了文件传输协议,使用21端口。
(2)Telnet:一种用于远程登陆的端口,使用23 端口,用户可以以自己的身份远程
连接到计算机上,可提供基于DOS模式下的通信服务。
(3)SMTP:邮件传送协议,用于发送邮件。服务器开放的是25号端口。
(4)POP3:它是和SMTP 对应,POP3 用于接收邮件。POP3 协议所用的是110 端
口。
(5)HTTP:是从Web服务器传输超文本到本地浏览器的传送协议。
UDP对应的协议:
(1)DNS:用于域名解析服务,将域名地址转换为IP地址。DNS用的是53号端口。
(2)SNMP:简单网络管理协议,使用161 号端口,是用来管理网络设备的。由于
网络设备很多,无连接的服务就体现出其优势。
(3)TFTP(Trival File Transfer Protocal),简单文件传输协议,该协议在熟知端口69上使用UDP服务。