HTTP权威指南学习笔记——第一章:HTTP概述

学习目标:
Web客户端与服务器是如何通信的;
(表示Web内容的)资源来自何方;
Web事务是怎样工作的;
HTTP通信所使用的报文格式;
底层TCP网络传输;
不同的HTTP协议变体;
Internet上安装的大量HTTP架构中的一部分。

  1. Web客户端与服务器是如何通信的:
    HTTP底层使用的是可靠的数据传输协议,保证数据在传输的过程中不会被损坏或产生混乱。
    Web内容存储在Web服务器上。由客户端向服务器发送HTTP请求,服务器会在HTTP响应中回送所请求的数据。

  2. (表示Web内容的)资源来自何方:
    Web资源是Web服务器上的文件,包括静态文件:例如文本文件、HTML文件、Word文件、JPEG图片文件灯等;也可以是根据需要由软件程序生成的动态内容。
    Web使用MIME类型的数据格式标签表示不同的数据类型。大部分的MIME类型在HTTP MIME类型中给出。
    Web资源以URI(统一资源标识符)在世界范围内唯一标识并定位信息资源。URI有URL(统一资源标识符)和URN(统一资源名)两种。但目前URN仍然处在实验阶段。

  3. Web事务是怎样工作的:
    一个HTTP事务由一条请求命令和一个响应结果组成。通过名为HTTP报文的格式化数据块进行。
    HTTP支持几种不同的请求命令,称为HTTP方法。大部分的请求方法在HTTP请求方法中给出。
    每条HTTP响应报文返回时都会携带一个状态码。状态码是3位十进制数,用于描述HTTP请求的结果。大部分的状态码在HTTP状态码中给出。

  4. HTTP通信所使用的报文格式:
    请求命令的报文格式:
    请求行: 请求方法|空格|URL|空格|协议版本|回车换行
    请求头部: 头字段|:|值|回车换行

    头字段|:|值|回车换行
    空行: 回车换行
    请求数据: …

     实例:
     	GET /hello.txt HTTP/1.1
     	User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3
     	Host: www.example.com
     	Accept-Language: en, mi
    

    响应结果的报文格式:
    状态行: 协议版本|空格|响应状态码|空格|描述字符串|回车换行
    消息报头: 头字段|:|值|回车换行

    头字段|:|值|回车换行
    空行: 回车换行
    响应正文: …

     实例:
     	HTTP/1.1 200 OK
     	Date: Mon, 27 Jul 2009 12:28:53 GMT
     	Server: Apache
     	Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
     	ETag: "34aa387-d-1568eb00"
     	Accept-Ranges: bytes
     	Content-Length: 51
     	Vary: Accept-Encoding
     	Content-Type: text/plain
     			
     	<HTML>
     	Hello, World!
     	</HTML>
    
  5. 底层TCP网络传输:
    TCP提供了:1.无差错的数据传输;2.按序传输;3.未分段的数据流。
    HTTP通过TCP/IP协议通信步骤如下:
    1. 浏览器从URL中解析出服务器的主机名。
    2. 浏览器将服务器的主机名转换成服务器的IP地址(通过DNS服务)。
    3. 浏览器将端口号从URL中解析出来。
    4. 浏览器建立一条与Web服务器的TCP连接。
    5. 浏览器向服务器发送一条HTTP请求报文。
    6. 服务器向浏览器回送一条HTTP响应报文。
    7. 关闭连接,浏览器显示文档。

  6. 不同的HTTP协议变体:
    目前仍在使用的HTTP版本如下:
    1. HTTP/0.9:只支持GET方法,不支持多媒体内容的MIME类型、各种HTTP首部和版本号。
    2. HTTP/1.0:支持GET、HEAD、POST等方法,添加了版本号、各种HTTP首部、以及对多媒体对象的处理。
    3. HTTP/1.0+:对比纯粹的HTTP/1.0,HTTP/1.0+添加了各种特性,包括持久的keep-alive连接、虚拟主机支持,以及代理连接支持。
    4. HTTP/1.1:重点关注的是校正HTTP设计中的结构性缺陷。HTTP/1.1是当前对流行的HTTP版本。
    5. HTTP/2.0:又名为HTTP-NG。HTTP-NG是HTTP/1.1后继结构的原型建议,重点关注的是性能的大幅优化。

  7. Internet上安装的大量HTTP架构中的一部分:
    代理:位于客户端和服务器之间的HTTP中间实体。接收客户端的HTTP请求,将请求转发给服务器(可能修改请求)。
    缓存:HTTP的仓库,保存有常用的HTTP文档的副本。
    网关:连接其它应用程序的特殊Web服务器。通常用于将HTTP流量转换成其他的协议。
    隧道:对HTTP通信报文进行盲转发的特殊代理。一种常见用途是通过HTTP连接承载加密的SSL(安全套接字层)流量,使其可以穿过只允许Web流量通过的防火墙。
    Agent代理:发起自动HTTP请求的半智能Web客户端。最常见的Agent代理是Web浏览器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值