Java网络编程基础(二)

TCP

TCP是面向链接的丶可靠的字节流协议,经过三次握手创建链接,通信完成时要拆除链接,因为TCP是面向链接的因此只能用于端到端的通信.程序员

若是IP数据包中有已经封好的TCP数据包,那么IP将把它们向‘上’传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的链接。编程

TCP数据包中包括序号和确认,因此未按照顺序收到的包能够被排序,而损坏的包能够被重传。服务器

clipboard.png

clipboard.png

TCP将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序(即应用层)。应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后到接收方。网络

UDP

UDP是面向无链接丶不可靠的的数据报协议,UDP数据包括目的端口号和源端口号信息,因为通信不须要链接,因此能够实现广播发送。spa

UDP通信时不须要接收方确认,属于不可靠的传输,可能会出现丢包现象,实际应用中要求程序员编程验证。排序


端口号

数据链路和 IP 中的地址,分别指的是 MAC 地址(MAC地址是网卡地址)和 IP 地址。前者用来识别同一链路中不一样的计算机,后者用来识别 TCP/IP 网络中互连的主机和路由器。在传输层也有这种相似于地址的概念,那就是端口号。端口号用来识别同一台计算机中进行通讯的不一样应用程序。所以,它也被称为程序地址。ip


HTTP请求的传输过程

clipboard.png

一次完整http请求的7个过程
1.创建 TCP 链接(以前可能还有一次DNS域名解析)
2.客户端向服务器发送请求命令
3.客户端发送请求头信息
4.服务服务器应答器
5.返回响应头信息
6.服务器向客户端发送数据
7.服务器关闭 TCP 链接路由


Http请求协议报文结构域名

clipboard.png

请求报文结构:it

clipboard.png

返回报文结构:

clipboard.png

相关文章
相关标签/搜索