连接管理

1.TCP连接

几乎所有的HTTP通信都是由TCP/IP承载的。

浏览网页时客户端执行的操作:

如浏览http://www.joes-hardware.com:80/power-tools.html

浏览器收到这个URL时,会执行如下图的步骤。

  • 第1-3步会将服务器的IP地址和端口号从URL中分离出来
  • 第4步建立到Web服务器的TCP连接,在第5步通过这条连接发送一条请求报文
  • 第6步读取响应,第7步关闭连接

1.1TCP的可靠数据管道

HTTP连接实际上是TCP连接和一些使用连接的规则

TCP连接是互联网上的可靠连接,TCP为HTTP提供一条可靠的比特传输管道,从TCP连接一端以原有的顺序正确的传送出来

1.2TCP流是分段的,有IP分组传送

TCP的数据是通过IP分组的小数据块发送的。

HTTP就是HTTP over TCP over IP这个协议栈中最顶层的协议了。而HTTPS则是在HTTP和TCP之间插入一个(TLS或SSL)的密码加密层

HTTP传送报文,以流的形式将报文数据的内容通过一条打开的TCP连接按序传输。TCP收到数据流后,将数据流砍成段(小数据块),并将段封装到IP分组中,通过互联网传输。

1.3保持TCP连接的正确运行

TCP通过端口号来保持TCP连接的正确运行

IP地址和端口号类似于公司总机号码和分机号

TCP连接通过4个值来识别:

  1. <源IP地址,源端口号,目的IP地址,目的端口号>

这四个值唯一确定一条连接。

串行连接

缺点:

  • TCP的性能时延叠加

  • 用户对网页的加载速度一无所知

并行连接

缺点:

  • 在有限的带宽内,并行加载多个对象,带来的性能提升很小
  • 打开大量连接会消耗很多内存资源

浏览器将并行连接的总数限制为一个较小的数值。服务器可随意关闭来自特定客户端的超量连接。

持久连接

站点本地性(site locality)

客户端经常打开同一个站点的连接,初始化对某服务器的HTTP请求的应用程序可能在不久后对那台服务器发起更多请求

持久连接

HTTP/1.1(以及HTTP/1.0的各种增强版本)允许HTTP设备在事务处理结束后将TCP连接保持打开状态,以便未来的HTTP请求重用现存的连接。

  • 避免缓慢的连接建立阶段
  • 避免慢启动的拥塞适应阶段
  • 易累积大量的空闲连接,耗费本地和服务器的资源

持久连接和并行连接配合使用可能是最高效的方式。

现在很多Web应用程序:少量的并行连接,每个都是持久连接。

两种类型:

  • HTTP/1.0+ "keep-alive"
  • HTTP/1.1 "persistent"

关闭连接

所有的客户端、服务器或代理都可以在任意时刻关闭一条TCP传输连接。

正常关闭连接

双向的,每端都有一个输入一个输出队列

  • 关闭连接的输出信道是安全的,连接另一端的对等实体从缓冲区读出所有数据后收到通知,说明流结束。它就知道流关闭了
  • 关闭连接的输入信道比较危险,向已关闭的输入信道发送数据,操作系统会向另一端回送一条TCP连接被重置的报文

和我一起学《HTTP权威指南》——连接管理的更多相关文章

  1. HTTP权威指南-连接管理

    现在已经开始学习到第四章咯,坚持就是胜利哟~!ok,废话少说,继续写笔记. 本章中我们要介绍到HTTP的连接.好,现在有几个问题,我列出来了,带着这几个问题,我们进入本章的学习. 1.HTTP是如何使 ...

  2. 《HTTP权威指南》之HTTP连接管理及对TCP性能的考虑

    在上一篇博客中(<HTTP权威指南>之HTTP相关概念详解)我们简单对HTTP相关的基本概念做了一些简单的了解,但未对HTTP连接管理的内容做一些详细的介绍.本篇博客我们就一起来看一下HT ...

  3. [从源码学设计]蚂蚁金服SOFARegistry网络操作之连接管理

    [从源码学设计]蚂蚁金服SOFARegistry网络操作之连接管理 目录 [从源码学设计]蚂蚁金服SOFARegistry网络操作之连接管理 0x00 摘要 0x01 业务领域 1.1 应用场景 0x ...

  4. Netty权威指南

    Netty权威指南(异步非阻塞通信领域的经典之作,国内首本深入剖析Netty的著作,全面系统讲解原理.实战和源码,带你完美进阶Netty工程师.) 李林锋 著   ISBN 978-7-121-233 ...

  5. Android开发权威指南(第2版)新书发布

    <Android 开发权威指南(第二版)>是畅销书<Android开发权威指南>的升级版,内容更新超过80%,是一本全面介绍Android应用开发的专著,拥有45 章精彩内容供 ...

  6. 《http权威指南》读书笔记13

    概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...

  7. 《http权威指南》读书笔记5

    概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...

  8. 《http权威指南》读书笔记3

    概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...

  9. 《Netty权威指南》

    <Netty权威指南> 基本信息 作者: 李林锋 出版社:电子工业出版社 ISBN:9787121233432 上架时间:2014-5-29 出版日期:2014 年6月 开本:16开 页码 ...

随机推荐

  1. spring security 注解@EnableGlobalMethodSecurity详解

     1.Spring Security默认是禁用注解的,要想开启注解,需要在继承WebSecurityConfigurerAdapter的类上加@EnableGlobalMethodSecurity注解 ...

  2. Java 开发中的对象拷贝

    前言 在 Java 开发中,很多时候需要将两个属性基本相同的对象进行属性复制,比如 DO 转 VO等等. 本文主要介绍自己实现的简易拷贝工具类与 Spring 提供的属性拷贝的对比. Spring 提 ...

  3. logback的日志文件中出现大量的ESC符号

    如下图: 这个日志文件是用less命令打开的,然后看到就惊呆了,日志文件乱成这样的. 开始我以为是我把logback的配置文件弄错了,还看了半天pattern. 然后百度了一下,找了这篇博客: htt ...

  4. <[成长股基本面]【怎样选择成长股】>读书笔记

    书在这里 投资想赚大钱,必须有耐性 这家公司的产品或服务有没有充分的市场潜力,至少几年内营业额能否大幅成长? 为了进一步提高总体销售水平,发现新的产品增长点,管理层是不是决心继续开发新产品或新工艺? ...

  5. Distribute Cached 使用

    在Kettle中说到Pentaho的MapReduce要用到它,就查了一下关于它的资料,以下是从官方查到的内容,记录一下. DistributedCache: 一些比较小的需要共享的文件或者jar包, ...

  6. Spring Cloud Config 配置中心高可用

    详细参见 <Spring Cloud 与 Docker微服务架构实战> p163-9.10 Spring Cloud Config 与 Eureka 配合使用 p163-9.12 Conf ...

  7. c:url标签

    <c:url>标签 <c:url>标签的主要作用是按照特定的重写规则重新构造URL,它的基本语法为: <c:url   value="原始URL"   ...

  8. css关于定位那些事情

    css绝对定位.相对定位和文档流的那些事 前言 接触html.和css时间也不短了,但每次用div+css布局的时候心里还是有点儿虚,有时候干脆就直接用table算了,很多时候用div会出现些不可预料 ...

  9. Qt中如何根据类名来实例化对象

    对于Qt 来说,是可以做到运行时,根据对象的类名字(字符串)来获得对象的实例的,这点和一些语言的反射机制是一样的. 但是在Qt中,我们需要所额外的一步,就是注册.只要做到了注册,我们就可以 自由的创建 ...

  10. Dijkstra 算法,用于对有权图进行搜索,找出图中两点的最短距离

    Dijkstra 算法,用于对有权图进行搜索,找出图中两点的最短距离,既不是DFS搜索,也不是BFS搜索. 把Dijkstra 算法应用于无权图,或者所有边的权都相等的图,Dijkstra 算法等同于 ...