Skip to content

2019-12-31:TCP/IP协议分为哪几层?TCP和HTTP分别属于哪一层? #223

Open
@MoJieBlog

Description

2019的最后一天。大家元旦快乐。

Activity

changed the title 2019-12-31:Http位于TCP/IP模型中的第几层? 2019-12-31:TCP/IP协议分为哪几层?TCP和HTTP分别属于哪一层? on Dec 31, 2019
ClericYi

ClericYi commented on Dec 31, 2019

@ClericYi

可以说是五层,也可以说是四层,四层时是把数据链路层和物理层整合为网际接口层。 TCP位于传输层,http位于应用层

ghl7231699

ghl7231699 commented on Jan 3, 2020

@ghl7231699

一般意义的话是分为四层,分别是:应用层、传输层、网络层、数据链路层。TCP、UDP位于传输层,Http位于应用层。如果分为五层的话,多了个物理层

manondidi

manondidi commented on Jan 9, 2020

@manondidi

四层
应用层 传输层 网络层 数据链路层
http是 应用层 tcp 是传输层 ip是网络层
http 每次请求 需要 三次握手四次挥手
三次握手
第一次 客户端发送seq 确定了 客户端的 发送能力 和服务端的接收能力
第二次 服务端返回 seq 和 ack 客户端确认了自己的发送能力和接收能力
第三次 客户端发送 ack 服务端确定了自己的发送能力
由此进行数据传输
tpc断开时 需要四次挥手
第一次 客户端发送 fin 给服务端,第二次服务端收到 返回ack 等于 甲乙通话中,甲告诉乙我已经说完了,乙说我知道了
然后中间可能还有传输内容 乙还有话对甲说
第三次 服务端发送fin给客户端 第四次 客户端发送ack给服务端 等于 乙告诉甲 我要说的话说完了,甲说知道了, 由此双方挂断电话

tcp是基于连接的 所以相对可靠, udp是直接发送 速度快但是不可靠
tcp可靠基于三次握手和四次挥手,和ack(回执机制) 如果客户端给服务端发送数据后没收到回执,会在一定条件下重复发送, 并且他们在连接过程中中断 又会重新三次握手

http1.1 引入了 keepalive机制 长连接 不必每次请求 都是三次握手四次挥手, 而是在超时时间内利用同一个 连接
http2.0 把基于文本传输改为基于二进制传输 多路复用

https 是在 http的基础上加上ssl 安全套接字 加入了认证加密 增加了一定的安全性,但也不是完全安全.在app中需要将https证书改为严格模式,并且要提前将证书放在客户端,如果放在服务端下证书有可能被人抓走. https 如果不是严格模式 也是可以进行抓包的

mlinqirong

mlinqirong commented on Feb 14, 2022

@mlinqirong

TCP/IP协议分为 应用层 传输层 网络层 网络接口层
TCP属于传输层
http属于应用层

mlinqirong

mlinqirong commented on Feb 14, 2022

@mlinqirong

TCP/IP协议分为 应用层 传输层 网络层 网络接口层
TCP属于传输层
http属于应用层

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

      Participants

      @mlinqirong@MoJieBlog@manondidi@ghl7231699@Moosphan

      Issue actions

        2019-12-31:TCP/IP协议分为哪几层?TCP和HTTP分别属于哪一层? · Issue #223 · Moosphan/Android-Daily-Interview