Fu
Simple is Beautiful!

HTTP学习笔记

这里记录了我在学习 Http:The Definitive Guide 时的一些笔记。

MIME type

HTTP 可以传输任何格式的文件, 而这些格式的文件是由 MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型标识的。

常见的 MIME 类型有:

URI

URI(Uniform Resource Identifier)统一资源标识符, 有两种类型:

  1. URL(Uniform Resource Locator)统一资源定位符,与位置有关,用位置定位
http://example.org/absolute/URI/with/absolute/path/to/resource.txt
  1. URN(Uniform Resource Name)统一资源名,与位置无关,用名称定位
urn:issn:1535-3613

我们通常用 URL,极少用 URN。 URL 形式如下:

<scheme>://<user>:<password>@<host>:<port>/<path>;<parameters>?<query>#<frag>
  1. scheme
  2. user
  3. password
  4. host
  5. port
  6. path
  7. parameters
  8. query
  9. frag

以上九部分并不需同时存在,例如:

http://www.example.com/index.html
http://www.example.com:80/index.html
http://8.8.8.8:80/index.html
http://www.example.com/index.html
ftp://ftp.example.com/pub/xxx
ftp://anonymous@ftp.example.com/pub/xxx
ftp://joe:joespasswd@ftp.example.com/pub/xxx
ftp://ftp.example.com/pub/xxx;type=
http://www.example.com/abc.html;sale=false/index.html;graphics=true
http://www.example.com/index.html?item=123&color=blue&size=large
http://www.example.com/index.html#id

Message

Message 有三部分组成:

  1. start line
  2. header
  3. body

两种 Message:

  1. Request Message
<method> <request-URL> <version>
<headers>

<entity-body>
  1. Response Message
<version> <status> <reason-phrase>
<headers>

<entity-body>

method:

version:

HTTP/<major>.<minor>

header:

response status codes:

经常用到的:

网路的组成

http2web12
2014-10-08 18:08:00