文档章节

HTTP读书笔记(一)

年少爱追梦
 年少爱追梦
发布于 2016/02/23 17:22
字数 1003
阅读 32
收藏 2

        第一章 HTTP 概述

1.HTTP 是可靠的数据传输协议。(可靠意味着不会产生混乱,损坏,有协议保障)

2.MIME数据格式,用来说描述并标记多媒体内容。text/html,(html 格式的文本文档);

text/plain(普通ascii文本文档)image/jpeg(jpeg版本的图片)image/gif(gif格式的图片)

3.http常见方法:GET,PUTDELETEPOST,HEAD,TRACE

4.HTTP常见的状态码:200(文档正确返回)302(重定向)404(没找到,客户端错误)

5.HTTP请求是报文结构,不是二进制代码。

请求报文 GET  /test/chendekai.txt  HTTP/1.0;Accept :text/* ;  Accept-Lauguage: en fr

响应报文 HTTP/1.0  200  ok; Content-type:text/plain; content-length: 19; i`m a cool man

请求报文里面只有putpost需要有请求主体。

第二章 HTTP的连接管理

1.浏览器收到一个url的步骤:1) ~3)步是将ip地址和端口号抽离出来,4)建立到web

务器的TCP连接,5)通过连接发送请求报文,6)读取响应,7)关闭连接。

2.TCP连接是通过{ip地址,源端口号,目的ip地址,目的端口号},确定一个连接。

3.承载tcp端的ip分组

4.HTTP事务的时延,DNS查询时延,连接时延(待回馈),请求时延(处理加回馈).

5.TCP时延,tcp连接建立握手,tcp慢启动拥塞控制,数据聚集的Nagle算法,tcp延迟确认

算法,TIME_WAIT时延和端口耗尽。

6.TCP连接时有特殊的SYN标志,说明是一个连接请求。返回连接时SYNACK都被置位。

7.延迟确认,相同方向有的话就用的捎带技术,没有的话就单独一个包。

8.TCP慢启动,通过分组发送,打开拥塞窗口。

9.Nagle对小的http报文时延很大。

10.TIME_WAIT累积,当某个TCP关闭TCP连接时,会在内存中维护一个小的控制块,用来记

录最近关闭的ip地址和端口号。一般是2分钟。端口耗尽是客户端的事情,每次一个新的

端口可以使得TIME_WAIT的值变很小。

11.持久连接是对未来将要使用的一种猜想,有点麻烦。

12.Keep-alive对与一个浏览器而言只用发请求了,不用再次建立连接了。服务器如果支

持的话响应中会有connectionkeep-alive首部。没有的话客户端就有发送确认后断开连接

HTTP/1.1好像没有做要求,还是看浏览器支不支持。服务端,客户端都可以随时断开,

服务端还可以对keep-alive连接数做一些要求。

13.代理会对服务器和客户端第二次请求有巨大问题(不过是以前老的代理),keep-alive

只保持一跳的情况下。

14.HTTP/1.1 持久连接,默认开启。响应中包含connectionclose才关闭。服务端随时可

以关闭。

15.管道化连接,在响应到达之前,可将多条请求放入队列中,第一条到达的时候第二条第

三条一起发送。管道化的限制:无法确认是持久连接,必须按照请求顺序进行回送。客户端

必须应对随时关闭的服务端,重新发请求之类的。管道化是HTTP/1.1的新特性。

16.服务器端随时可以关闭,但无法保证客户端是否有消息发送。就会发生连接错误。所以

浏览器的content-length作用就是尽量保证服务端收完全部消息的时候关闭连接。

17.服务端信道(单方面)关闭会发一个重置信息给客户端清空输入缓存区。

18.正常关闭是,先本关闭输出信道,周期检查输入信道,对一定时间的信道进行关闭,节约资源。


© 著作权归作者所有

上一篇: HTTP读书笔记(二)
下一篇: lucene 源码编译
年少爱追梦
粉丝 35
博文 193
码字总数 120092
作品 0
杭州
程序员
私信 提问
加载中

评论(3)

维他ViTa
维他ViTa

引用来自“JCheung”的评论

有什么系统的回顾“”计算机网络的基础“”知识的网站吗?105 分享一下

引用来自“年少爱追梦”的评论

纯粹的回顾我是不太清楚的,你可以看看一个专门讲im的一个网站,里面有很多干活,但很多时候最系统的学习还是去看书。http://www.52im.net/
qaaq 哦,好的
年少爱追梦
年少爱追梦 博主

引用来自“JCheung”的评论

有什么系统的回顾“”计算机网络的基础“”知识的网站吗?105 分享一下
纯粹的回顾我是不太清楚的,你可以看看一个专门讲im的一个网站,里面有很多干活,但很多时候最系统的学习还是去看书。http://www.52im.net/
维他ViTa
维他ViTa
有什么系统的回顾“”计算机网络的基础“”知识的网站吗?105 分享一下
UNIX网络编程卷2进程间通信读书笔记汇总

UNIX网络编程卷2进程间通信读书笔记(一)—概述 http://blog.chinaunix.net/u/22935/article_52711_2.html UNIX网络编程卷2进程间通信读书笔记(二)—管道 (1) http://blog.chinaunix.ne...

长平狐
2012/09/03
244
0
《Linux内核设计与实现》读书笔记 - 目录 (完结)

《Linux内核设计与实现》读书笔记 - 目录 (完结) 读完这本书回过头才发现, 第一篇笔记居然是 2012年8月发的, 将近一年半的时间才看完这本书(汗!!!). 为了方便以后查看, 做个《Linux内核设计...

你的猫大哥
2018/01/14
0
0
用骆驼祥子读书笔记来解答ZBLOG博客写作的3个技巧[图]

建设博客已经半年了,准确的说应该是7个月了吧,虽然没有取得什么好的进展,但毕竟一直在努力,主要是内容建设上比较麻烦,很难像大站一样获得大量的内容,这是非常头疼的问题。 总之,个人也...

原创小博客
2018/07/11
22
0
百家笔记网为什么选择采用读书笔记为博客写作主题?

百家笔记网已经上线6个月了,这个博客一上线就引起了我的注意,因为我也是个博客网站,而且更加巧妙的是,都是读书笔记为主题,也算是同道中人吧。那么,为什么百家笔记网在半年内取得了这么...

原创小博客
2018/06/30
23
0
告诉你1年读100本书的方法

《书都不会读,你还想成功》是一本小说,由韩国作家二志成和郑会一合著,书的内容为一个焦躁的职场人士通过读书的方式,彻底改变了自己的思维方式,进而改变了自己的生活的故事。 下面就说说...

anda0109
2016/12/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

开发经验 初学51单片机建议用C语言

typesetting : Markdown    blog : my.oschina.net/zhichengjiu    gitee : gitee.com/zhichengjiu   新手学习51单片机建议用C语言。因为使用C语言入门的话,上手速度快。实现几个例程后...

志成就
6分钟前
0
0
mybatis异常:nested exception is org.apache.ibatis.builder.BuilderException: Error resolving JdbcType

mybatis异常:nested exception is org.apache.ibatis.builder.BuilderException: Error resolving JdbcType 异常详细 org.mybatis.spring.MyBatisSystemException: nested exception is org......

开元中国2015
6分钟前
0
0
Hexo博客搭建

本文默认已经安装好git和node.js环境 版本说明:git version 2.16.2.windows.1 、 node.js v8.9.4 Hexo是什么   Hexo 是一个快速、简洁且高效的博客框架,这里不多介绍,丢个链接,感兴趣的...

逸竹小站
31分钟前
2
0
学习记录 Vue(模板,差值表达式,v-text,v-html,v-bind,v-model,v-if,v-show,v-for,v-on,this关键字,按键修饰符)

模板示范 <div id="d1"></div><script> new Vue({ el:"#d1", //作用的区域 data:{//参数 }, methods:{// 函数 ......

Pole丶逐
33分钟前
2
0
vue vue-router beforeRouteEnter

本文转载于:专业的前端网站➬vue vue-router beforeRouteEnter beforeRouteEnter (to, from, next) { // 在渲染该组件的对应路由被 confirm 前调用 // 不!能!获取组件实例 `thi...

前端老手
57分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部