美文网首页
2020-04-14 tcp三次握手,以及一个tcp和http请

2020-04-14 tcp三次握手,以及一个tcp和http请

作者: FredWorks | 来源:发表于2020-04-14 11:29 被阅读0次

1 tcp三次握手

它本质上,是客户端给服务器端发探测,服务器端给出响应;然后服务器端给客户端发探测,服务器端给响应;实际上是2个来回,共计4次。但服务器端给客户端的响应,以及服务器端给客户端的探测,合并成了一次进行,因此最后变成了3次。简称三次握手。

2 tcp和http请求的关系

http协议实际上是建立在tcp协议之上的。tcp代表一次物理连接。http请求背后,肯定有一个tcp连接,也就是一个http肯定对应一个tcp。但一个tcp连接是否在http请求结束后就直接释放了,也就是一个tcp是否对应一个http?不一定。

2.1 http1.0版本,一个tcp一个http

要是一个tcp只对应一个http,由于http是短连接,经常建立和释放,会导致tcp也频繁进行建立和释放。而tcp连接建立是很耗资源的,这会带来性能问题。这就是http1.0协议的做法。

2.2 http1.1版本,一个tcp多个http

现代浏览器,默认会在http请求头携带 Connection: keep-alive ,这样在http结束后,tcp并不断开和释放,而是持续存在直到配置的超时时间。除非你指定请求头:Connection: close,这样才会在http结束后,立即关闭tcp连接。这就是http1.1协议的做法。显然,此时一个tcp对应多个http。

正常情况下,多个http,是不能合并发送的,而是顺序进行。也就是一个http请求结束后,在同一个tcp连接上进行下一个http请求。

http1.1版本有提供pipeline,但浏览器大多数默认关闭。
它就是在管道中依次发送多个http请求。但不同的浏览器对其支持程度不一样,而且实现复杂,可能会出现问题。比如,pipelining的请求,也要求其响应的顺序和请求的顺序一样。如果多个请求之间响应速度不同,会导致pipelining中的响应出现短板效应。

浏览器对同一个host的tcp数量有限制,不同浏览器设置不一样。

2.3 http2的Multiplexing技术

http2建立在https基础上,支持一个tcp多个http并发进行。

相关文章

  • TCP/IP协议

    TCP/IP协议三次握手与四次握手流程解析 HTTP协议—— 简单认识TCP/IP协议 TCP/IP协议入门(一)...

  • tcp三次握手四次挥手

    tcp三次握手四次挥手 TCP状态图 TCP状态时序图 tcp三次握手 流程图: TCP握手状态说明: TCP_S...

  • 了解Http基础

    网络分层模型: TCP/IP基础: TCP三次握手——> TCP四次挥手——> 一、HTTP1.0与HTTP 1....

  • 2020-04-14 tcp三次握手,以及一个tcp和http请

    1 tcp三次握手 它本质上,是客户端给服务器端发探测,服务器端给出响应;然后服务器端给客户端发探测,服务器端给响...

  • 星媛面试-进大厂必备--TCP协议

    1,tcp三次握手 TCP A ...

  • HTTP协议笔记

    HTTP协议 https的实现原理 TCP三次握手

  • golang面试 探探

    发送http请求的过程以及用到的协议,传输层用到的是tcp还是udp tcp与udp协议以及三次握手四次挥手的详细...

  • TCP、HTTP、UDP、Socket协议

    TCP、HTTP、UDP、Socket协议 标签(空格分隔): Node.js [TOC] TCP 的三次握手 一...

  • 计算机网络知识目录

    · TCP/IP协议模型 TCP 三次握手四次挥手 四元组 · Http · Https

  • 网络学习三

    关于TCP握手和挥手告别 tcp协议格式 三次握手 在 TCP/IP 协议中,TCP 协议提供可靠的连接服务,采用...

网友评论

      本文标题:2020-04-14 tcp三次握手,以及一个tcp和http请

      本文链接:https://www.haomeiwen.com/subject/xbrzmhtx.html