5. 万维网 & HTTP 协议

1. 万维网概述

万维网 WWW(World Wide Web)是一个大规模的、联机式的信息储藏所(资料空间),是无数个网络站点和网页的集合

URL 一般形式:(不区分大小写)

用户通过点击超链接(http://www.baidu.com)获取资源,这些资源通过超文本传输协议(HTTP)传送给使用者

万维网以客户/服务器方式工作,用户使用的浏览器就是万维网客户程序,万维网文档所驻留的主机运行服务器程序

万维网使用超文本标记语言 HTML,使得万维网页面设计者可以从很方便地一个界面的链接转到另一个界面,并能在自己的屏幕上显示出来

2. 超文本传输协议 HTTP

HTTP 协议定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档(请求),以及服务器怎样把文档传送给浏览器(响应

用户浏览页面方法:

  1. 输入 URL

  2. 点击超链接

2.1 具体过程

  1. 浏览器分析 URL

  2. 浏览器向 DNS 请求解析 IP 地址

  3. DNS 解析出 IP 地址

  4. 浏览器与服务器建立 TCP 连接

  5. 浏览器发出取文件命令

  6. 服务器响应

  7. 释放 TCP 连接

  8. 浏览器显示

2.2 HTTP 协议的特点

HTTP 是无状态的(即每一次浏览都是相同的,不会记录用户信息),但是在实际工作中,一些万维网站点常常希望能够识别用户(通过 Cookie

Cookie 是存储在用户主机中的文本文件,记录一段时间内某用户的访问记录(提供个性化服务)

HTTP 采用 TCP 作为运输层协议,但 HTTP 协议本身是无连接的(通信双方在交换 HTTP 报文之前不需要先建立 HTTP 连接)

2.3 HTTP 协议的连接方式

2.4 HTTP 报文结构

HTTP 报文是面向文本的,因此在报文中的每一个字段都是一些 ASCII 码串

  • 请求报文

  • 响应报文

状态码:

  • 1xx 表示通知信息的,如请求收到了或正在处理

  • 2xx 表示成功,如接受或知道了(202 Accepted)

  • 3xx 表示重定向,如要完成请求还必须采取进一步的行动(301 Moved Permanently)

  • 4xx 表示客户的差错,如请求中有错误的语法或不能完成(404 Not Found)

  • 5xx 表示服务器的差错,如服务器失效无法完成请求

Last updated