Http权威指南(二)---读书笔记

Chart4

====连接管理====

一、TCP连接

  1.  Http和Https的网络协议栈:

  

  2.  Http在TCP/IP传输中的位置:
   

  3.  Http怎么利用TCP传输:

  

二、Http依赖的TCP性能(延时)简介

  1.  TCP连接建立握手:安全的三次握手

  2.  TCP慢启动拥塞控制
    (1)什么是慢启动:TCP连接会随时间进行自我“调谐”,初期将会限制连接的最大速度,到后期再逐渐加快。

    (2)该原因导致Http存在持久连接(Keep Live).

  3.  数据聚焦的Nagle算法(应用层的缓存)

    (1)问题:小的Http报文1.可能五无法填满一个分组(需等待),2.将等待确认分组(原因4.)

    (2)解决办法:设置TCP的TCP_NODELAY,以非阻塞方式传输

  4.  用于捎带确认的TCP延迟确认算法

    (1)看看这边的一个说法:每个TCP段都有一个序列号和数据完整性校验和,每个段的接受者收到完好的段时,

  都会向发送者回送小的确认分组。如果发送者没有在指定的窗口时间内收到确认信息,发送者就认为已经被破坏,

  将进行重发数据。(SYN/SYN + ACK)是这样的原因么?

    (2)HTTP具有双峰特性的请求-应答行为降低了捎带信息的可能。

    (3)你自然可以对TCP的参数进行设置。

  5.  TIME_WAIT时延和端口耗尽
    (1)产生原因:当某个TCP端点关闭TCP连接时,会在内存维护一个小的控制块,用来记录最近所关闭的IP和端口号,

            这类信息将保存2分钟左右。因此,两分钟内,你不能创建两个具有一样IP和端口号的连接。

        假设:源端口数量:(65536 - 1000) / 120 =  537,意味着2分钟内每秒钟接受超过537的连接,将产生这个问题。

    (2)解决办法:增加服务器数量,建立分发系统,或者使用虚拟IP。

时间: 2024-08-28 11:08:02

Http权威指南(二)---读书笔记的相关文章

《Android编程权威指南》-读书笔记(五)-挑战练习

<Android编程权威指南>-读书笔记(五) -挑战练习 为了巩固学习,为了建立信心.开始进行如下挑战: 挑战练习一:为TextView添加监听器 书中给出了提示,TextView,Button都是View的子类,都可以设置OnClickListener()直接加入如下代码: mQuestionTextView.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ mCurr

《Android编程权威指南》-读书笔记(三)Git初探

<Android编程权威指南>-读书笔记(三)Git初探 版本控制-Git 为什么要使用版本控制 什么是版本控制?我为什么要关心它呢?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.在本书所展示的例子中,我们仅对保存着软件源代码的文本文件作版本控制管理,但实际上,你可以对任何类型的文件进行版本控制. 如果你是位图形或网页设计师,可能会需要保存某一幅图片或页面布局文件的所有修订版本(这或许是你非常渴望拥有的功能).采用版本控制系统(VCS)是个明智的选择.有了它你就

《javascript权威指南》读书笔记——第二篇

<javascript权威指南>读书笔记--第二篇 金刚 javascript js javascript权威指南 今天是今年的196天,分享今天的读书笔记. 第2章 词法结构 2.1 字符集 JavaScript程序是用Unicode字符集编写. Unicode是ASCII和Latin-1的超集,支持几乎所有语言. ES3 要求支持Unicode 2.1及后续版本 ES5 要求支持Unicode 3及后续版本 2.1.1 区分大小写 JavaScript是区分大小写的. HTML 并不区分大

《javascript权威指南》读书笔记——第一篇

<javascript权威指南>读书笔记--第一篇 金刚 javascript js javascript权威指南 由于最近想系统学习下javascript,所以开始在kindle上看这本书来补充下. 今天是今年的196天,由于我之前承诺过,每天分享读书笔记,只是之前分享的是大众读物,所以随手分享到kindle阅读群里了.但是现在读的是技术类书籍,分享到kindle读书群不太合适,所以还是以博客的形式分享.这样子,一个链接,大家感兴趣了就点开看看,不感兴趣了,就不点开. 其实这篇文章应该是昨天

《Hadoop权威指南》读书笔记

<Hadoop权威指南>读书笔记 Day1 第一章 1.MapReduce适合一次写入.多次读取数据的应用,关系型数据库则更适合持续更新的数据集. 2.MapReduce是一种线性的可伸缩编程模型. 3.高性能计算HPC和网格计算比较适合用于计算密集型的作业,但如果几点需要访问的数据量更庞大,很多节点就会因为网络带宽的瓶颈问题不得不闲下等数据.(HPC和网格计算的数据存储与SAN中,数据存储比较集中,数据访问一般通过网络) 4.MapReduce尽量在计算节点上存储数据,以实现数据的本地化快速

《Android编程权威指南》-读书笔记(十一) 完善CriminalIntent

<Android编程权威指南>-读书笔记(十一) 完善CriminalIntent 在上篇文章中,我们跟随本书作者,使用了单个的Fragment做了最简单的插入操作.本篇文章将跟随作者进行更深入的完善各种功能. 本章目标: 使用ListFragment显示列表 fragment之间传递数据 使用ViewPager来实现划屏显示 对话框 使用ListFragment显示列表 如果是挑战,或者没有UI我会给出草图之类的UI.或手画或Axure原型.每次例子本书都给出了最终UI,所以这步基本都可以省

《Android编程权威指南》-读书笔记(四)-GeoQuiz功能扩展

<Android编程权威指南>-读书笔记 -GeoQuiz功能扩展 从现在开始,这本书开始扩展应用.在这次扩展中我们将会学习以下知识点: 创建一个新类 更新视图层 更新控制层 Git代码的修改和提交 Android Studio 在设备中运行该应用 给按钮添加图片资源 功能:下图是GeoQuiz应用对象图解.应用的对象按模型.控制器和视图的类别被分为三部分.Android应用是给予模型-控制器-视图(Model-View-Controller,简称MVC)的架构模式进行设计的. 创建一个类 T

【vue.js权威指南】读书笔记(第一章)

最近在读新书<vue.js权威指南>,一边读,一边把笔记整理下来,方便自己以后温故知新,也希望能把自己的读书心得分享给大家. [第1章:遇见vue.js] vue.js是什么? vue.js不是一个框架-它只聚焦视图层,是一个用来构建数据驱动的Web界面的库.Vue.js通过简单的API来提供高校的数据绑定和灵活的组件系统 vue.js的特性 轻量级:体积非常小,而且不依赖其他基础库 数据绑定:对于一些富交互,状态机类似的前端UI界面,数据绑定非常简单,方便 指令:类似与AJ,可以使用v-*的

《javascript权威指南》读书笔记

这是一篇很长的博客 终于把权威指南给买回来了,之前一直犹豫,第一:书太厚,怕买了不能坚持看完.第二:觉得太贵,最少100¥.现在实习也能发点工资了,给自己定了一个志愿:把一个月的工资用于买书.这么一想买本100¥的书也不是太大开销.好!买!为了坚持看完,我会把读书笔记发到博客上,督促自己,也能加深自己的印象,一举n得,就这么定了. 开始reading: 1. js中的“ 假值” :false, undefined,null,0,-0,NaN,""(空字符串)  共7个  其余所有值全部

《JavaScript权威指南》读书笔记——JavaScript核心

前言 这本由David Flanagan著作,并由淘宝前端团队译的<JavaScript权威指南>,也就是我们俗称的“犀牛书”,算是JS界公认的“圣经”了.本书较厚(有1004页),读起来颇费功夫,但作为JavaScript(下文简称:JS)相关从业者,我还是鼎力推荐,一定要读完这本经久不息,好评如潮的JS“圣经”(如果您有耐心的读完,觉得还不错的,博客最后附有购买本书的优惠券,可自行领取). 说完本书重要性,下面重点介绍一下本书作者写书的逻辑性,简单来说本书分为四部分,第一部分:JS核心:第