在写这一章之前我们先要了解一些概念
TCP/IP是个协议组,可分为四个层次:网络接口层、网络层、传输层和应用层。
在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。
在传输层中有TCP协议与UDP协议。
在应用层有HTTP、FTP、TELNET、SMTP、DNS等协议。
形象比喻:IP(公路),TCP/UDP(货车),HTTP(货物),SSL(包装箱)
本章不讲解链接过程。我们在实际应用过程中,大多都是对应用层的包装。通讯协议的通俗一点讲就是 大家约定一种相互认可的数据交互方式。下面拿HTPP的协议举例子
![3a3628ecc51e29765b362e4857749e59.png](https://i-blog.csdnimg.cn/blog_migrate/c721777358aa7c9b3294265e3b90a90b.jpeg)
HTTP 协议
通过上面的图片我们可以简单的看出一个协议的设计:
请求头+数据体
其中请求头的设计尤为重要,通过上面的图片我们可以看出HTTP的请求头设计还是很复杂的。这里我就不展开讲了其中说一个重点就是,在HTTP 里面什么叫一个完整数据包呢 主要看头部里面《Content-Length》这个字段的值。当这个数据长度达到这个值的时候才算接受完毕 其中Content-Length的长度=包头+包体的长度。
协议参考规范可以看下面的这个链接:
https://developer.mozilla.org