第一章 了解Web及网络基础
1、为知识共享为规划Web,基本理念是:借助多文档之间相互关联(你中有我,我中有你)形成的超文本,连成客户想参阅的WWW(World Wide Web)。
2、提出了3项WWW构建技术,分别是:把SGML(Standard Generalized Markup Language,标准通用标记语言)作为页面的文本标记语言的HTML;作为文档传递协议的HTTP;指定文档所在地址的URL(Uniform Resource Locator,统一资源定位符)。
3、TCP/IP协议族按照层次分别分为以下4层:应用层、传输层、网络层和数据链路层(层次化是有好处的,只需关注变动的层以及各层之间的接口规划)
4、IP地址指明了节点被分配的地址,MAC地址是指网卡所属的固定地址。
5、ARP协议根据通信方的IP地址可以查出对应的MAC地址,DNS协议根据通信方的域名可以查出对应的IP地址。
6、TCP协议三次握手:
 发送端发送SYN标识数据
接收端发送SYN/ACK标识数据
发送端再次发送ACK标识数据
7、URI & URL,URI用字符串标识某一互联网资源,而URL表示资源的地点,可见URL是URI的子集。
 URI: mailto:cay@horstman.com
URL: http://www.xxx.com/index.html
8、绝对URI格式
"http://user:password@www.example.com:/index.html?uid=1#ch1"
协议方案名 + 认证登录信息 + 服务器地址 + 端口号 + 文件路径 + 查询字符串 + 片段标识符
 
第二章 简单的HTTP协议
1、请求报文是由请求行(请求方法、请求URI、协议版本),可选的请求首部字段和内容实体构成的。
2、响应报文是由响应行(协议版本、状态码、用以解释状态码的原因短语),可选的响应首部字段以及实体主体构成的。
3、HTTP是不保存状态的协议,可以减少服务器的CPU以及内存资源的消耗。
4、发送请求时,URI需要包含在报文内,如果不是访问特定资源而是对服务器本身发起请求,可以用一个“*”来代替请求URI。
5、告知服务器意图的HTTP方法:
 GET 获取资源 POST 传输实体主体
PUT 传输文件 HEAD 获得报文首部
DELETE 删除文件 OPTIONS 询问支持的方法
TRACE 追踪路径 CONNECT 要求用隧道协议连接代理
6、每次请求都会发生三次握手进行TCP连接(避免首次请求延迟误连),持久连接(HTTP keep-alive)则节省通信量,只要任意一端没有明确提出断开连接,则保持TCP连接状态,减轻了服务器端的负载。
7、管线化:持久连接使得多数请求以管线化方式发送成为可能,这样能够做到同时并行发送多个请求。
8、Cookie:Cookie会根据从服务端发送的响应报文内的一个叫做Set-Cookie的首部字段,通知客户端保存Cookie。当下次客户端再往该服务器发送请求时,客户端会自动在请求报文中加入Cookie值后发送出去。
 
第三章 HTTP报文内的HTTP信息
1、HTTP报文大致可分为报文首部和报文主体两块。
2、报文主体与实体主体的区别:
报文主体:通信中的基本单位,由8位组字节流组成
实体主体:由实体首部和实体主体组成
通常,报文主体等于实体主体。只有当传输中进行编码操作时,实体主体的内容发生变化,才导致它和报文主体产生差异。
3、常用的内容编码:
gzip (GNU zip)
compress (UNIX系统的标准压缩)
deflate (zlib)
identity (不进行编码)
4、HTTP协议采纳了多部份对象集合(MIME)
 multipart/form-data 在web表单文件上传时使用
multipart/byteranges 状态码206响应报文包含了多个范围的内容时使用
5、获取部分内容的范围请求(能从之前中断处恢复下载等),会用到首部字段Range来指定资源的byte范围。针对范围请求,响应会返回状态码为206 Partial Content的响应报文。
6、内容协商返回最合适的内容,某些首部字段作为判断的基准(Accept,Accept-Encoding等)
 服务器驱动协商,以请求的首部字段为参考,在服务端自动处理
客户端驱动协商,用户从浏览器显示的可选项列表中手动选择
透明协商,a和b结合体,由服务端和客户端各自进行内容协商的一种方法

图解HTTP(一)的更多相关文章

  1. 图解CSS3制作圆环形进度条的实例教程

    圆环形进度条制作的基本思想还是画出基本的弧线图形,然后CSS3中我们可以控制其旋转来串联基本图形,制造出部分消失的效果,下面就来带大家学习图解CSS3制作圆环形进度条的实例教程 首先,当有人说你能不能 ...

  2. 《图解HTTP》读书笔记

    目前国内讲解HTTP协议的书是在太少了,记忆中有两本被誉为经典的书<HTTP权威指南>与<TCP/IP详解,卷1>,但内容晦涩难懂,学习难度较大.其实,HTTP协议并不复杂,理 ...

  3. [PostgreSQL] 图解安装 PostgreSQL

    图解安装 PostgreSQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5894462.html 序 园友的一篇<Asp.Net Cor ...

  4. 图解ios程序生命周期

    图解ios程序生命周期 应用程序启动后状态有Active.Inactive.Background.Suspended.Not running这5种状态,几种状态的转换见下图: 在AppDelegate ...

  5. 【用xocde5打包 在IOS7以下也能显示无默认gloss 效果 图解】

    图解,只需要这几个地方修改以下就好了,看不懂的话,请留言 完毕:记着clean 以下项目文件

  6. Python开发工具PyCharm个性化设置(图解)

    Python开发工具PyCharm个性化设置,包括设置默认PyCharm解析器.设置缩进符为制表符.设置IDE皮肤主题等,大家参考使用吧. JetBrains PyCharm Pro 4.5.3 中文 ...

  7. (转)Eclipse和MyEclipse安装和使用git(egit)图解笔记

    Eclipse.MyEclipse使用git插件(egit)图解 (转)原文来自:http://www.xuebuyuan.com/446322.html 在开发Java.JavaEE等相关程序时,我 ...

  8. C#温故知新:《C#图解教程》读书笔记系列

    一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...

  9. 字符串模式匹配之KMP算法图解与 next 数组原理和实现方案

    之前说到,朴素的匹配,每趟比较,都要回溯主串的指针,费事.则 KMP 就是对朴素匹配的一种改进.正好复习一下. KMP 算法其改进思想在于: 每当一趟匹配过程中出现字符比较不相等时,不需要回溯主串的 ...

  10. HTTP图解(大牛必经之路)

    本节内容 俗话说好的开发,底层知识必须过硬,不然再创新的技术,你也理解不深入,比如python web开发工程师,想要学习任何一个框架,底层都是http和socket,底层抓牢了,学起来会很轻松,所以 ...

随机推荐

  1. uniapp - 点赞动画插件

    更新时间: 2019/8/31 - 点击下载demo 点赞动画插件配合animate.css更好用! 该组件参考于:https://github.com/OYsun/VueStar/tree/mast ...

  2. win10-mysql卸载干净

    本文介绍,在Windows10系统下,如何彻底删除卸载MySQL 1.停止MySQL服务 开始——所有应用——Windows管理工具——服务,将MySQL服务停止. 2.卸载mysql server ...

  3. iOS项目运行出现:[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object

    说白了就是 字典初始化 的时候 放入空的值了 下面这个比较具体 错误原因: NSDictionary *dic = @{@"key":value}这个初始化方法,发现keys co ...

  4. 解决在SQLPLUS中无法使用方向键、退格键问题

    1. wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/matthewdva:/build:/E ...

  5. apache环境.htaccess设置301跳转及常用.htaccess技巧整理

    apache环境.htaccess设置301跳转及常用.htaccess技巧整理 无论是Nginx,还是Apache都各自有优势,对于我们普通用户而言基本上也没有多大的区别.在虚拟主机环境中,基本上都 ...

  6. 【452】pandas筛选出表中满足另一个表所有条件的数据

    参考:pandas筛选出表中满足另一个表所有条件的数据 参考:pandas:匹配两个dataframe 使用 pd.merge 来实现 on 表示查询的 columns,如果都有 id,那么这是很好的 ...

  7. 人脸识别(基于ArcFace)

    我们先来看看效果 上面是根据图片检测出其中的人脸.每个人脸的年龄还有性别,非常强大 第一步: 登录https://ai.arcsoft.com.cn/,注册开发者账号,身份认证,注册应用,得到APPI ...

  8. MTCNN代码解读

    代码基于bm1682芯片 #include "mtcnn.hpp" #include "utils.hpp" using namespace std; usin ...

  9. ASP.NET Core 之跨平台的实时性能监控

    前言 前面我们聊了一下一个应用程序 应该监控的8个关键位置. . 嗯..地址如下: 应用程序的8个关键性能指标以及测量方法 最后卖了个小关子,是关于如何监控ASP.NET Core的. 今天我们就来讲 ...

  10. prototype和__proto__的关系是什么?

    我们创建的每个函数都有一个prototype(原型)属性,这个属性是一个对象,它的用途是包含可以由特定类型的所有实例共享的属性和方法.(这个对象下面有个属性,这个属性是另外一个对象的应用 ,这个属性就 ...