【HTTP权威指南】第1 章 HTTP 概述
1.1 HTTP——因特网的多媒体信使 ...............................................................................................4
1.2 Web 客户端和服务器 .................................................................................................................4
1.3 资源 ............................................................................................................................................5
1.3.1 媒体类型 ........................................................................................................................6
1.3.2 URI.................................................................................................................................7
1.3.3 URL ...............................................................................................................................7
1.3.4 URN ...............................................................................................................................8
1.4 事务 ............................................................................................................................................9
1.4.1 方法 ...............................................................................................................................9
1.4.2 状态码 ..........................................................................................................................10
1.4.3 Web 页面中可以包含多个对象 ..................................................................................10
1.5 报文 ..........................................................................................................................................11
1.6 连接 ..........................................................................................................................................13
1.6.1 TCP/IP ..........................................................................................................................13
1.6.2 连接、IP 地址及端口号 ..............................................................................................14
1.6.3 使用Telnet 实例 ..........................................................................................................16
1.7 协议版本 ..................................................................................................................................18
1.8 Web 的结构组件 .......................................................................................................................19
1.8.1 代理 ..............................................................................................................................19
1.8.2 缓存 ..............................................................................................................................20
1.8.3 网关 ..............................................................................................................................20
1.8.4 隧道 ..............................................................................................................................21
1.8.5 Agent 代理 ....................................................................................................................21
1.9 起始部分的结束语 ...................................................................................................................22
1.10 更多信息 ................................................................................................................................22
1.10.1 HTTP 协议信息 ........................................................................................................22
1.10.2 历史透视 ...................................................................................................................23
1.10.3 其他万维网信息 .......................................................................................................23
Web 客户端和服务器
web内容都在服务器上,客户端向服务器发送一条HTTP请求,然后服务器将信息放在HTTP响应中发回给客户端。
【资源 resource】web服务器是web资源的宿主,web资源是web内容的源头。资源可以是静态html,音频,图片等任意内容,也可以是动态生成的内容。网关,搜索引擎也是一种资源。
【媒体类型 】MIME 类型(Multipurpose Internet Mail Extensions type 多用途因特网邮件扩展) web服务器会给每一个对象附加一个MIME 类型,MIME 类型是一种文本标记,形式为对象类型/子类型
例如:HTML格式的文本文档: text/html
ASCLL格式的文本文档: text/plain
JEP格式的图片: image/jpeg
GIF格式的图片: image/gif
【URI】每个服务器资源都有一个名字,这个名字叫做URI(uniform resource identifer 统一资源标识符)就像邮政地址一样,可以作为唯一标识并定位。
URI分作两种URL(统一资源定位符)和URN(统一资源名)
【URN】作为特定内容的唯一名称,与资源的所在地无关。便于搬运和访问,如:urn:ietf:rfc:2141 。可惜还没有大范围使用,现在几乎所有的URI都是URL。
【URL】描述了某资源在特定服务器的特定位置,可以通过它从精确,固定的位置获取资源。

URL的格式分作三部分:【方案 scheme】协议类型,通常是 http://
【服务器的因特网地址】如:xiaoshuwu.u.qiniudn.com
【web服务器上的某个资源】如:/wp-content/uploads/2014/03/HTTP权威指南.jpg

上面这个URL代表的内容就是这张图片
【事务】一个HTTP事务由一个请求命令和一个响应结果组成,这种通信通过格式化数据块 HTTP报文(HTTP message)来进行。

【报文】HTTP报文分作两部分header和body(主体),header包含起始行和首部字段,

【方法 method】 (请求命令):每个请求报文中都包含了一个方法,来告诉浏览器要执行什么动作。
常用方法如:GET:请求某资源 POST:提交某数据 PUT:将数据存储到服务器中 DELETE:删除服务器中的某数据
【状态码】每个响应报文都会携带一个三位数组成的状态码来告知客户端请求是否成功,或提示是否采取其他动作。
常见HTTP状态码如:200 ok 文档正确返回 302 redirect(重定向) 到其他地方去获取资源 404 not found(没找到) 无法找到这个资源
除了数字码,同时还会返回一句解释性的话语,该话语只起到描述作用,整个处理过程都使用数字码。
Web 页面中可以包含多个对象-----需要多个事务才能得到一个丰富完整的页面。客户端先向服务器发送一个请求,服务器发回一个html框架,浏览器解析这个html后提取出里面的链接,图片,音频等嵌入式资源的URL,再一个个地发送请求,这些嵌入式资源可能分布在不同的服务器上,这些服务器再发出响应报文,这样可以分散服务器的压力。
简单报文实例

连接
了解了报文后,我们要讨论一下报文是如何通过传输控制协议(TCP)连接从一个地方到另一个地方去的。

【TCP(传输控制协议)】提供了:无差错的传输 按序传输 未分段的数据流(什么是未分段的数据流呢,就是说可以在任一时刻以任意尺寸把数据发送出去)
TCP是一种可靠的传输协议
【IP(Internet Protocol 网络协议)】
我们已经知道了HTTP客户端通过TCP向服务器发送报文,但是在此之前,还需要用网络协议(IP)地址和端口号在客户端和服务器之间建立一条TCP/IP连接
原来这就是我们常说的IP地址,打个比方,找某个人,IP地址就是那个人公司的电话号码,而端口号就是这个人的分机号。
也就是说在TCP中,当客户端需要与服务器产生通信时,需要先得知服务器的IP地址和服务器上运行的特定软件相关的TCP端口号
这就行了,但是在此之前客户端要则么才能获取到IP地址和端口号呢?
先看我们平常是怎样访问一个网站的呢?当然是URL,URl既然是资源的地址,那么肯定含有提供资源的机器的IP地址和端口号,不是吗
我满看到面这几个URL:

看起来并不复杂,都是我们通常见到的URL
第一个很清晰,IP地址是207.200.83.29,端口是80。
我记得IP地址都是一串数字对吧,可是后两个URL的数字在哪呢?
我们看到后两串URL中包含的是文本形式的域名(或称为主机名)而非一串数字组成的IP地址,然而多数情况就是这样的形式,这时就涉及到了一种称作域名服务(DNS)的机制
实际上主机名就是IP地址比较人性化的一种形式,因为比较容易记忆嘛。而没有标明端口号的就默认为80端口。


【Web结构组件】
【代理】
代理位于客户端和服务器中间,接受客户端的HTTP请求,并将请求(可能还会修改请求)转发给服务器。
代理还可以对请求和响应过滤。
【缓存】
缓存是一种特殊的代理服务器,它可以将经过代理传送的常用文档复制保存起来,下一个请求该文档的客户端就可以从这个代理服务器的缓存中下载了,,因为客户端从附近的缓存下载文档要比从远程的web服务器下载快得多,所以可以大大地提升效率。
【网关】
用于将HTTP转换成其他的协议

【隧道】
用来在一条或多条HTTP连接上传递非HTTP数据。
HTTP隧道的常见用途是通过HTTP连接承载加密的安全套接字层(SSL)流量这样SSL流量就可以穿过只允许web流量通过的防火墙,发送到服务器上了。
【Agent代理】
用户agent代理/agent代理:代表用户发起HTTP请求的客户端程序。所有发布web请求的都是agent代理,已经提到过的有浏览器这一种,其他还有很多,如网络蜘蛛,网络机器人
仅允许非商业转载,转载请注明出处
【HTTP权威指南】第1 章 HTTP 概述的更多相关文章
- JavaScript权威指南第01章 JavaScript 概述
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/huangbin10025/article/details/27951767 JavaScript 概 ...
- javascript权威指南第1章Js概述js语言核心
<html> <head> <script> function Point(x,y){ this.x=x; this.y=y; } ,); console.log( ...
- PADSPCB权威指南-第三章 预处理(部分)(原创)
PADSPCB权威指南-第三章(部分)豆丁地址:http://www.docin.com/p-707132066.html
- HTTP 权威指南 详解 ( 一、概述 )
HTTP 权威指南 详解 ( 一.概述 ) 最近在解读 <http权威指南> 这本书.之前对于http 的理解仅限于 知道我需要向服务端发送一个 get or post 请求,然后等待服务 ...
- HTTP权威指南:第二章
URL概览 前面提到,URL资源是HTTP协议所使用的寻找资源位置的定位符.分为三个部分,主要的结构是: 方案://服务器/路径 这种结构使得网络上的每一个资源都只有唯一的命名方法,从而使得浏览器可以 ...
- javascript权威指南第11章 DOM扩展
//javascript 权威指南 第三版 第11章 DOM扩展 //取得body元素 var body = document.querySelector("body"); //取 ...
- 读书笔记系列之java性能优化权威指南 一 第一章
主题:java性能优化权威指南 pdf 版本:英文版 Java Performance Tuning 忽略:(0~24页)Performance+Acknowledge 1.Strategies, A ...
- 【笔记】javascript权威指南-第六章-对象
对象 //本书是指:javascript权威指南 //以下内容摘记时间为:2013.7.28 对象的定义: 1.对象是一种复合值:将很多值(原始值或者对象)聚合在一起,可以通过名字访问这些值. ...
- 【笔记】javascript权威指南-第三章-类型,值和变量
javascript中的原始类型和对象类型(基本类型和引用类型) //本书是指:javascript权威指南 //以下内容摘记时间为:2013.7.27 计算机程序运行时需要对值(value ...
- ANTLR4权威指南 - 第6章 尝试一些实际中的语法
第6章 尝试一些实际中的语法 在前一章,我们学习了通用词法结构和语法结构,并学习了如何用ANTLR的语法来表述这些结构.现在,是时候把我们学到的这些用来构建一些现实世界中的语法了.我们的主要目标是,怎 ...
随机推荐
- 10.application对象
1.application对象实现了用户数据的共享,可存放全局变量 2.application开始于服务器的启动,终止于服务器的关闭. 3.在用户的前后连接或不同用户之间的连接中,可以对applica ...
- Spring+SpringMVC+MyBatis深入学习及搭建(十七)——SpringMVC拦截器
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7098753.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十六)--S ...
- Android-->创建自定义控件
1.仿 iPhone 的风格,在界面的顶部放置一个标题栏. <?xml version="1.0" encoding="utf-8"?> <R ...
- Java基础语法<七> 对象与类
笔记整理 来源于<Java核心技术卷 I > <Java编程思想> 1. 类之间的关系 依赖 users– a 是一种最明显的.最常见的关系.如果一个类的方法操作另一个类的对象 ...
- ReactiveSwift源码解析(七) Signal的CombineLatest的代码实现
本篇博客我们就来聊一下combineLatest()的使用以及具体的实现方式.在之前的<iOS开发之ReactiveCocoa下的MVVM>的博客中我们已经聊过combineLatest( ...
- Linux常见命令语句
查看当前目录: pwd 查看文件具体大小: ls -l 返回上一级: cd.. 返回根目录: cd / 创建一个隐藏文件 vim .test 显示隐藏文件:ls -a 编辑文件: 1.vim 文件名 ...
- js里面的垃圾回收
在公司经常会听到大牛们讨论时说道内存泄露神马的,每每都惊羡不已,最近精力主要用在了Web 开发上,读了一下<JavaScript高级程序设计>(书名很唬人,实际作者写的特别好,由浅入深)了 ...
- python模块之os模块详解
os.listdir(dirname):列出dirname下的目录和文件 os.getcwd():获得当前工作目录 os.curdir:返回当前目录('.') os.chdir(dirname):改变 ...
- 性能百万/s:腾讯轻量级全局流控方案详解
WeTest 导读 全新的全局流控实现方案,既解决了目前流控的实现难点,同时保证运行稳定且流控准确的前提下,实现更简单,部署成本更低,容灾能力更强. 该方案组件化之后,可以推广到别的有需要的部门使用, ...
- Vue.js之深入浅出
介绍引言 Vue.js(读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视图层,它不仅易于上 ...