HTTP权威指南—基础部分

文章目录

第一部分 HTTP: Web的基础

第1章 HTTP概述

  • HTTP使用的是可靠的数据传输协议;

  • 因特网上有数千种不同的数据类型,HTTP仔细地给每种要通过Web传输的对象都打上了名为MIME类型(MIME type)的数据格式标签

    • MIME类型是一种文本标记,表示一种主要的对象类型和一个特定的子类型,中间由一条斜杠来分隔。
    • HTML格式的文本文档由text/html类型来标记。
    • 普通的ASCII文本文档由text/plain类型来标记。
    • JPEG格式的图片为image/jpeg类型
    • GIF格式的图片为image/gif类型
    • Apple的QuickTime电影为video/quicktime类型。
    • 微软的PowerPoint演示文件为application/vnd.ms-powerpoint类型。
  • 服务器资源名被称为统一资源标识符(Uniform Resource Identifier,URI)。URI就像因特网上的邮政地址一样,在世界范围内唯一标识并定位信息资源。

  • URI有两种形式,分别称为URL和URN

    • 统一资源定位符(URL)是资源标识符最常见的形式。
      • URL的第一部分被称为 方案(scheme),说明了访问资源所使用的协议类型。这部分通常就是HTTP协议(http://)。
      • 第二部分给出了服务器的因特网地址(比如,www.joes-hardware.com)。
      • 其余部分指定了Web服务器上的某个资源(比如,/specials/saw-blade.gif)。
    • URI的第二种形式就是统一资源名(URN)。URN是作为特定内容的唯一名称使用的,与目前的资源所在地无关。使用这些与位置无关的URN,就可以将资源四处搬移。通过URN,还可以用同一个名字通过多种网络访问协议来访问资源。
  • HTTP/1.1是当前使用的最广泛的HTTP版本。

事务

  • 事务举例:包含请求与响应的事务

  • 方法:HTTP支持几种不同的请求命令,这些命令被称为HTTP方法(HTTP method)

  • 状态码:表名服务器响应状态

  • HTTP报文

    • 起始行:报文的第一行就是起始行,在请求报文中用来说明要做些什么,在响应报文中说明出现了什么情况。
    • 首部字段:起始行后面有零个或多个首部字段。每个首部字段都包含一个名字和一个值,为了便于解析,两者之间用冒号(:)来分隔。首部以一个空行结束。添加一个首部字段和添加新行一样简单。
    • 主体:请求主体中包括了要发送给Web服务器的数据;响应主体中装载了要返回给客户端的数据。主体中可以包含任意的二进制数据(比如图片、视频、音轨、软件程序)

连接

  1. 浏览器从URL中解析出服务器的主机名;
  2. 浏览器将服务器的主机名转换成服务器的IP地址;
  3. 浏览器将端口号(如果有的话)从URL中解析出来;
  4. 浏览器建立一条与Web服务器的TCP连接;
  5. 浏览器向服务器发送一条HTTP请求报文;
  6. 服务器向浏览器回送一条HTTP响应报文;
  7. 关闭连接,浏览器显示文档。

Web的结构组件

  • 代理:代理位于客户端和服务器之间,接收所有客户端的HTTP请求,并将这些请求转发给服务器(可能会对请求进行修改之后转发)。对用户来说,这些应用程序就是一个代理,代表用户访问服务器

  • 缓存:Web缓存(Web cache)或代理缓存(proxy cache)是一种特殊的HTTP代理服务器,可以将经过代理传送的常用文档复制保存起来。

  • 网关:网关(gateway)是一种特殊的服务器,作为其他服务器的中间实体使用。通常用于将HTTP流量转换成其他的协议。网关接受请求时就好像自己是资源的源端服务器一样。客户端可能并不知道自己正在与一个网关进行通信。

  • 隧道:隧道(tunnel)是建立起来之后,就会在两条连接之间对原始数据进行盲转发的HTTP应用程序。HTTP隧道通常用来在一条或多条HTTP连接上转发非HTTP数据,转发时不会窥探数据。HTTP隧道的一种常见用途是通过HTTP连接承载加密的安全套接字层(SSL,Secure Sockets Layer)流量,这样SSL流量就可以穿过只允许Web流量通过的防火墙了

  • Agent代理:用户Agent代理(或者简称为Agent代理)是代表用户发起HTTP请求的客户端程序。所有发布Web请求的应用程序都是HTTP Agent代理。到目前为止,我们只提到过一种HTTP Agent代理:Web浏览器,但用户Agent代理还有很多其他类型。

第2章 URL与资源

2.1 URL组成

URL提供了一种统一的资源命名方式。大多数URL都有同样的:“方案://服务器位置/路径”结构。

2.2 URL语法

  • 大多数URL方案的URL语法都建立在这个由9部分构成的通用格式上:

    <scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>
    
  • 通用的URL组件

  • 举个栗子:https://user:password@www.myinternet.com:8080/firstPath;firstN=1;type=d/index.xml;secondN=1;type=c?item=111&color=red#drills

    • 方案:https协议
    • 用户名:密码对:user:password
    • 主机名:www.myinternet.com
    • 端口号:8080
    • 路径: firstPath/index.xml
    • 参数: 路径firstPath的参数为firstN=1;type=d。路径/index.xml的参数为secondN=1;type=c
    • 查询:item=111和color=red
    • 分段:浏览器只显示整个资源drills的
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值