【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的语法来表述这些结构.现在,是时候把我们学到的这些用来构建一些现实世界中的语法了.我们的主要目标是,怎 ...
随机推荐
- Intellij IDEA查看方法的调用栈
在IDEA中,先双击选定要查看的方法,使用快捷键Ctrl+Alt+h,在右侧就会显示该方法的详细信息,再双击右侧的方法,就定位到方法的代码区.如下图:
- 【Android Developers Training】 94. 创建一个空内容提供器(Content Provider)
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- CSS3学习系列之背景相关样式(二)
在border-radius属性中指定两个半径 在border-radius属性中,可以指定两个半径,指定方法如下所示: border-radius:40px 20px; 针对这种情况,各种浏览器的处 ...
- Cordova(PhoneGap) 环境搭建与基础
Cordova(PhoneGap) 创建步骤:官方Guide 环境准备 安装 Node.js nodejs.org 安装 git git-scm.com (bin目录添加到path) 安装 cordo ...
- AngularJS4.0环境搭建详解--windows系统环境
第一步:安装NodeJS 下载最新版的NodeJS并安装,安装完成后打开CMD命令行,输入以下命令: node -v 若返回类似版本号则代表NodeJS安装成功,如下: 第二部 安装npm 新版的No ...
- css加载会造成阻塞吗?
终于考试完了,今天突然想起来前阵子找实习的时候,今日头条面试官问我,js执行会阻塞DOM树的解析和渲染,那么css加载会阻塞DOM树的解析和渲染吗?所以,接下来我就来对css加载对DOM树的解析和渲染 ...
- javaweb利用filter拦截请求
项目上有个小需求,要限制访问者的IP,屏蔽未授权的登录请求.该场景使用过滤器来做再合适不过了. SecurityFilter.java: package com.lichmama.webdemo.fi ...
- vue实现对表格数据的增删改查
在管理员的一些后台页面里,个人中心里的数据列表里,都会有对这些数据进行增删改查的操作.比如在管理员后台的用户列表里,我们可以录入新用户的信息,也可以对既有的用户信息进行修改.在vue中,我们更应该专注 ...
- English Learning - Vampire bats
" Vampire bats are very adaptable." Bambi said. And when their roosts are disrupted or the ...
- 编写高质量代码改善C#程序的157个建议:第17个建议之多数情况下使用foreach进行循环遍历
今天是我看<编写高质量代码:改善C#程序的157个建议>第二遍的时候了,看完这本书的确是受益匪浅,学到了很多东西,也明白了很多道理. 里面的代码我每个都调试了一遍,有时候是有些出入的,可能 ...