http与tcp的关系:
(1)首先,http、tcp、udp并不是在一个层(osi七层模型)中,http在应用层,tcp和udp在传输层。
(2)http是基于tcp的,因为发送http请求时,会先进行tcp三次握手的连接。
(3)http的长连接与短连接,其实就是tcp的长连接与短连接。http1.1开始默认使用长连接,也就是 connection 默认使用 keep-alive关键字。长连接就是只需要在第一次连接时进行tcp三次握手,接下来就不需要了,可以一直使用这个连接,不会立即关闭,与短连接不同。短连接是,每次client和server进行http操作就建立一个连接,请求结束就中断连接。虽然http1.0支持长连接,但是默认的还是短连接。
tcp与udp的区别:
区别 | udp | tcp |
面向连接 | 面向非连接 | 面向连接 |
传输速度 | 快 | 慢 |
可靠性 | 不可靠 | 可靠 |
应用场景 | 数据量小,对可靠性要求不很高的场景。比如:qq发送消息 | 数据量相对较大,对可靠性要求高的场景 |