HTTP是应用层,负责内容解析、内容呈现、用户交互。
TCP是传输层,负责可靠传输,保证HTTP层能拿到正确格式的包(按序到达,无需担心丢了、多了、改(必须上TLS辅助))
IP是网络层,负责把包从发送端送到接收端,但是,不保证服务(丢、多、改、按序)
关系
HTTP必须运行在TCP上,由TCP帮他可靠传输。这样他可以专心处理收到的信息,无需关心信息在网络上是怎么走的,无需关心收到的信息是不是有问题,不能解析。
TCP必须依赖在IP上,这样他无需关心网络的形态,无需管理主机位置、子网。TCP会重整顺序,把“包”变成“数据流”。TCP会通过知会的方式,告诉对端哪些收到哪些没有收到。发端会重传丢掉的部分。
IP层则是跨网传输的基本协议,他负责把不同形态的网络连接起来,把数据按照数据包上携带的地址送达。当然,寄送过程中可能会被中间某跳丢了,或者复制了,或者有的慢有的快,IP层不解决,留给TCP解决。