HTTP权威指南Ch1-HTTP概述 笔记
第一章 HTTP概述
1.1 HTTP-因特网的多媒体信使
HTTP 是一种可靠的数据传输协议
研究HTTP是如何传输Web流量的
1.2 Web客户端和服务器
HTTP客户端和HTTP服务器共同构成了万维网的基本组件
1.3 资源
Web服务器是Web资源的宿主,资源有静态的的动态生成的
每种资源都打上了名为MIME的类型的数据格式标签,表示一种主要的对象类型和一个特定的子类型
每个资源都有一个名字,称为URI,有URL和URN两种形式
1.4 事务
一个HTTP事务由一条请求命令和一个响应结果组成,这种通信通过名为HTTP报文的格式化数据块进行
请求命令包含5种常见的HTTP方法,告诉服务器要执行什么操作。响应报文包含一些常见的状态码
完成一项任务通常需要发布多个HTTP事务
1.5 报文
HTTP报文包含请求报文和响应报文,都是纯文本,不是二进制代码,方便人读写。良可扩展性和可调式性
HTTP报文包含三部分:起始行(做什么,出现什么情况),首部字段(参数),主体(发送/返回数据)。起始行和首部字段都是文本形式且都是结构化的,而主体可以包含任何二进制数据(图片,视频,音轨,软件等)
1.6 连接
HTTP是一个应用层协议,它把联网的细节交给了通用,可靠的的因特网传输协议TCP/IP,自身不关心网络通信的具体细节
TCP 连接建立后,就使得客户端和服务器间报文的交换不会丢失,不会被破坏,也不会再接受时出现错序。
客户端向服务器发送报文之前,需要用网际协议(IP)地址和端口号在客户端和服务器间建立一条TCP/IP连接。通过域名服务(DNS)的机制方便的将主机名转换为IP地址。
Telnet可以很好模拟HTTP客户端,但是不能作为服务器使用,netcat工具可以更方便的操纵基于UDP和TCP的流量
1.7 协议版本
HTTP/0.9只支持GET方法,有很多严重的设计缺陷;HTTP/1.0版本才开始广泛使用,但规范从未得到良好的说明;HTTP/1.0+增加了各种特性,成为非官方的事实标准;HTTP/1.1校正了HTTP设计中的结构缺陷,是当前使用版本;目前HTTP/2.0草案正在审核中
1.8 Web的结构组件
代理代表用户访问服务器,可能会对请求进行修改之后转发,可以对请求和响应进行过滤。一般作为转发所有Web流量的可信任中间节点使用。参见第6章
Web缓存或代理缓存是一种特殊的HTTP代理服务器,可以将代理传送的常用文档复制保存起来,客户端从附近的缓存下载文档会比从远程的Web服务器下载快很多。参见第7章
网关是一种特殊的服务器,通常用于将HTTP流量转换成其他的协议。参见第8章
隧道是建立起来后,会在两条连接之间对原始数据进行盲转发的HTTP应用程序,转发时不会窥探数据。常见用途是通过HTTP连接承载加密的安全套接字层流量。
Agent代理是代表用户发起HTTP请求的客户端程序,所有发布Web请求的应用程序都是HTTP Agent代理,如Web浏览器,爬虫等。参见第9章