HTTP 基础

本文摘自书籍《HTTP 权威指南》

HTTP 基础

MIME type

针对不同的数据类型,HTTP仔细的给每种要传输的对象都打上了名为MIME类型的数据格式标签。MIME类型是一种文本标记,表示一种主要的对象类型和一个特定的子类型,中间由一条斜杠来分隔。

  • HTML 格式的文本文档由 text/html 类型来标记。
  • 普通的 ASCII 文本文档由 text/plain 类型来标记。
  • JPEG 格式的图片为 image/jpeg 类型。
  • GIF 格式的图片为 image/gif 类型。

URI

统一资源标识符(Uniform Resource Identifier),唯一标识并定位信息资源。

URL

统一资源定位符,是URI最常见的形式。生活中,各种物件资源,都有一个标准化的名字,以帮助人们寻找资源。书籍的ISBN号、银行账户的账户编码、个人社会保险号等。URL就是因特网资源的标准化名称,URL指向一条条的电子信息,告诉你它们在哪里以及如何与它们进行交互。URI 是一类更通用的资源标识符,URL 实际上是它的一个子集。URI 是一个通用的概念,由两个主要的子集 URL 和 URN 构成,URL 是通过描述资源的位置来标识资源的,而 URN则是通过名字来识别资源的,与它们当前所处位置无关。HTTP 规范将更通用的概念 URI 作为其资源标识符,但实际上,HTTP 应用程序处理的只是 URI 的 URL 子集。大部分URL遵循一种标准格式:

  • URL的第一部分被称为方案(scheme),说明了访问资源所使用的协议类型(如:http://)
  • 第二部分给出了服务器的因特网地址(如:www.github.com)
  • 其余部分指定了Web服务器上的某个资源(如:/index.html)

URL语法

大多数URL方案的URL语法都建立在下面的通用格式上:

<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>

几乎没有哪个URL中包含了所有的这些组件。URL最终要的3个部分是方案(scheme)、主机(host)和路径(path)。

方案(scheme)

方案实际上是规定了如何访问指定资源的主要标识符,它会告诉负责解析URL的应用应该使用什么协议。必须以字母开始,以:将其与其他组件分开且大小写无关。常见方案如下:

  • http
  • https
  • mailto
  • ftp
  • rtsp,rtspu
  • file
  • news
  • telnet

主机与端口(host:port)

主机标识了因特网上能够访问资源的宿主机器,端口组件标识了服务器正在监听的网络端口。

用户名和密码(user:password)

有些服务器要求输入用户名和密码才允许访问数据。

路径(path)

路径组件说明了资源位于服务器的什么地方。通常很想一个分级的文件系统路径。

参数(params)

某些资源需要参数来访问资源,参数组件为一个键值对列表,为应用程序提供了访问资源所需的附加信息。

查询字符串(query)

这是一个很常用的组件,比如:

https://github.com/search?q=maven

片段(frag)

某些资源类型,比如html,除了资源级之外,还可以进一步划分,比如对一个带有章节的大型文本文档来说,资源的URL会指向真个文本文档,但理想的情况是,能够指定资源中的那些章节。片段组件可以表示一个资源内部的片段。

URN

统一资源名,是URI的第二种形式。作为特定内容的唯一名称使用,与目前的资源所在地无关。也就是资源与它所在的地址无关,无论它被迁移到哪里,通过URN都能访问这个特定的资源。

你可能感兴趣的:(HTTP学习笔记)