【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的语法来表述这些结构.现在,是时候把我们学到的这些用来构建一些现实世界中的语法了.我们的主要目标是,怎 ...
随机推荐
- C++基础之引用与指针的区别与联系、常引用使用时应注意的问题
什么是引用? 引用就是对变量起一个别名,而变量还是原来的变量,并没有重新定义一个变量.例如下面的例子: #include<iostream> using namespace std; ...
- 外部世界如何访问容器? - 每天5分钟玩转 Docker 容器技术(37)
上节我们学习了容器如何访问外部网络,今天讨论另一个方向:外部网络如何访问到容器? 答案是:端口映射. docker 可将容器对外提供服务的端口映射到 host 的某个端口,外网通过该端口访问容器.容器 ...
- kbengine新手教程
KBEngine服务端引擎开源项目地址(github):https://github.com/kbengine/kbengine引擎下载与编译:http://kbengine.org/cn/docs/ ...
- Win7使用USB口连接H3C交换机的Console口
使用Console线的一端连接交换机的Console口,另一端连接电脑的USB口. 使用驱动精灵安装USB转串口驱动,我电脑上面提示安装的是: Prolific PL2303 USB转串口驱动1.16 ...
- [基础架构]PeopleSoft Application Server 重要文件说明
我们都知道PeopleSoft是由几个不同的服务组成的,他们在PeopleSoft体系结构中扮演着自己的角色.这些服务具有不同的文件结构并包含重要的可执行文件和配置文件. 以下是Peoplesoft体 ...
- Ambari架构原理
不多说,直接上干货! Ambari 架构原理图 通过三张图来说明: 第一张架构图告诉我们:Ambari是Hortonworks贡献给社区的.完全开源的.Hadoop生态的集群管理.监控.部署的工具: ...
- FreeRTOS——任务管理
1. FreeRTOS 任务不允许以任何方式从实现函数中返回——他们绝不能有一条“return”语句,也不可能执行到函数的末尾.如果一个函数不需要,可以将其删除,如在任务中使用函数vTaskDelet ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 1、微信小程序----弹幕的实现(无后台)
小程序刚刚出来,现在网上的demo是多,但是要找到一个自己需要的却不容易.今天跟大家分享自己写的一个弹幕功能. 先来一张效果图: 我的思路是这样的,先用<switch>标签确定是否打开弹幕 ...
- (转)示例化讲解RIP路由更新机制
目录(?)[+] 以下内容摘自最新上市的“四大金刚”图书之一<Cisco路由器配置与管理完全手册>(第二版)(其它三本分别为<Cisco交换机配置与管理完全手册>(第二 ...