[计算机]深入浅出HTTP协议

上传人:油条 文档编号:33863359 上传时间:2018-02-18 格式:DOC 页数:3 大小:32KB
返回 下载 相关 举报
[计算机]深入浅出HTTP协议_第1页
第1页 / 共3页
[计算机]深入浅出HTTP协议_第2页
第2页 / 共3页
[计算机]深入浅出HTTP协议_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《[计算机]深入浅出HTTP协议》由会员分享,可在线阅读,更多相关《[计算机]深入浅出HTTP协议(3页珍藏版)》请在金锄头文库上搜索。

1、深 入 浅 出 HTTP 协 议HTTP(HyperText Transfer Protocol)是 一 套 计 算 机 通 过 网 络 进 行 通 信 的 规 则 。 计 算 机 专 家设 计 出 HTTP, 使 HTTP 客 户 ( 如 Web 浏 览 器 ) 能 够 从 HTTP 服 务 器 (Web 服 务 器 )请 求 信息 和 服 务 , HTTP 目 前 协 议 的 版 本 是 1.1.HTTP 是 一 种 无 状 态 的 协 议 , 无 状 态 是 指 Web 浏览 器 和 Web 服 务 器 之 间 不 需 要 建 立 持 久 的 连 接 , 这 意 味 着 当 一 个 客

2、户 端 向 服 务 器 端 发 出 请求 , 然 后 Web 服 务 器 返 回 响 应 (response), 连 接 就 被 关 闭 了 , 在 服 务 器 端 不 保 留 连 接 的 有 关信 息 .HTTP 遵 循 请 求 (Request)/应 答 (Response)模 型 。 Web 浏 览 器 向 Web 服 务 器 发 送 请 求 ,Web 服 务 器 处 理 请 求 并 返 回 适 当 的 应 答 。 所 有 HTTP 连 接 都 被 构 造 成 一 套 请 求 和 应 答 。 HTTP 使 用 内 容 类 型 , 是 指 Web 服 务 器 向 Web 浏 览 器 返 回

3、 的 文 件 都 有 与 之 相 关 的 类 型 。所 有 这 些 类 型 在 MIME Internet 邮 件 协 议 上 模 型 化 , 即 Web 服 务 器 告 诉 Web 浏 览 器 该 文件 所 具 有 的 种 类 , 是 HTML 文 档 、 GIF 格 式 图 像 、 声 音 文 件 还 是 独 立 的 应 用 程 序 。 大 多 数Web 浏 览 器 都 拥 有 一 系 列 的 可 配 置 的 辅 助 应 用 程 序 , 它 们 告 诉 浏 览 器 应 该 如 何 处 理 Web服 务 器 发 送 过 来 的 各 种 内 容 类 型 。 HTTP 通 信 机 制 是 在 一

4、 次 完 整 的 HTTP 通 信 过 程 中 , Web 浏 览 器 与 Web 服 务 器 之 间 将完 成 下 列 7 个 步 骤 :( 1) 建 立 TCP 连 接 在 HTTP 工 作 开 始 之 前 , Web 浏 览 器 首 先 要 通 过 网 络 与 Web 服 务 器 建 立 连 接 , 该 连 接是 通 过 TCP 来 完 成 的 , 该 协 议 与 IP 协 议 共 同 构 建 Internet, 即 著 名 的 TCP/IP 协 议 族 , 因此 Internet 又 被 称 作 是 TCP/IP 网 络 。 HTTP 是 比 TCP 更 高 层 次 的 应 用 层 协

5、 议 , 根 据 规 则 ,只 有 低 层 协 议 建 立 之 后 才 能 , 才 能 进 行 更 层 协 议 的 连 接 , 因 此 , 首 先 要 建 立 TCP 连 接 , 一般 TCP 连 接 的 端 口 号 是 80 。( 2) Web 浏 览 器 向 Web 服 务 器 发 送 请 求 命 令 一 旦 建 立 了 TCP 连 接 , Web 浏 览 器 就 会 向 Web 服 务 器 发 送 请 求 命 令 。例 如 : GET/sample/hello.jsp HTTP/1.1 ( 3) Web 浏 览 器 发 送 请 求 头 信 息 浏 览 器 发 送 其 请 求 命 令 之

6、后 , 还 要 以 头 信 息 的 形 式 向 Web 服 务 器 发 送 一 些 别 的 信 息 , 之后 浏 览 器 发 送 了 一 空 白 行 来 通 知 服 务 器 , 它 已 经 结 束 了 该 头 信 息 的 发 送 。 ( 4) Web 服 务 器 应 答 客 户 机 向 服 务 器 发 出 请 求 后 , 服 务 器 会 客 户 机 回 送 应 答 , HTTP/1.1 200 OK 应 答 的 第 一 部 分 是 协 议 的 版 本 号 和 应 答 状 态 码 。( 5) Web 服 务 器 发 送 应 答 头 信 息 正 如 客 户 端 会 随 同 请 求 发 送 关 于

7、自 身 的 信 息 一 样 , 服 务 器 也 会 随 同 应 答 向 用 户 发 送 关 于 它 自己 的 数 据 及 被 请 求 的 文 档 。 ( 6) Web 服 务 器 向 浏 览 器 发 送 数 据 Web 服 务 器 向 浏 览 器 发 送 头 信 息 后 , 它 会 发 送 一 个 空 白 行 来 表 示 头 信 息 的 发 送 到 此 为 结 束 ,接 着 , 它 就 以 Content-Type 应 答 头 信 息 所 描 述 的 格 式 发 送 用 户 所 请 求 的 实 际 数 据 。( 7) Web 服 务 器 关 闭 TCP 连 接 一 般 情 况 下 , 一 旦

8、Web 服 务 器 向 浏 览 器 发 送 了 请 求 数 据 , 它 就 要 关 闭 TCP 连 接 , 然 后如 果 浏 览 器 或 者 服 务 器 在 其 头 信 息 加 入 了 这 行 代 码 。Connection:keep-alive TCP 连 接 在 发 送 后 将 仍 然 保 持 打 开 状 态 , 于 是 , 浏 览 器 可 以 继 续 通 过 相 同 的 连 接 发 送 请 求 。保 持 连 接 节 省 了 为 每 个 请 求 建 立 新 连 接 所 需 的 时 间 , 还 节 约 了 网 络 带 宽 。 HTTP 请 求 格 式 当 浏 览 器 向 Web 服 务 器

9、发 出 请 求 时 , 它 向 服 务 器 传 递 了 一 个 数 据 块 , 也 就 是 请 求 信 息 ,HTTP 请 求 信 息 由 3 部 分 组 成 : l 请 求 方 法 URI 协 议 /版 本 l 请 求 头 (Request Header) l 请 求 正 文 下 面 是 一 个 HTTP 请 求 的 例 子 : GET/sample.jspHTTP/1.1 Accept:image/gif.image/jpeg,*/* Accept-Language:zh-cn Connection:Keep-Alive Host:localhost User-Agent:Mozila/4

10、.0(compatible;MSIE5.01;Window NT5.0) Accept-Encoding:gzip,deflate username=jinqiao&password=1234 ( 1) 请 求 方 法URI 协 议 /版 本 请 求 的 第 一 行 是 “方 法 URL 议 /版 本 ”: GET/sample.jsp HTTP/1.1 以 上 代 码 中 “GET”代 表 请 求 方 法 , “/sample.jsp”表 示 URI, “HTTP/1.1 代 表 协 议 和 协 议 的 版 本 。根 据 HTTP 标 准 , HTTP 请 求 可 以 使 用 多 种 请 求

11、 方 法 。 例 如 : HTTP1.1 支 持 7 种 请 求方 法 : GET、 POST、 HEAD、 OPTIONS、 PUT、 DELETE 和 TARCE。 在 Internet 应 用 中 ,最 常 用 的 方 法 是 GET 和 POST。 URL 完 整 地 指 定 了 要 访 问 的 网 络 资 源 , 通 常 只 要 给 出 相 对 于 服 务 器 的 根 目 录 的 相 对 目 录 即 可 ,因 此 总 是 以 “/”开 头 , 最 后 , 协 议 版 本 声 明 了 通 信 过 程 中 使 用 HTTP 的 版 本 。 ( 2) 请 求 头 (Request Head

12、er) 请 求 头 包 含 许 多 有 关 的 客 户 端 环 境 和 请 求 正 文 的 有 用 信 息 。 例 如 , 请 求 头 可 以 声 明 浏 览 器 所用 的 语 言 , 请 求 正 文 的 长 度 等 。 Accept:image/gif.image/jpeg.*/* Accept-Language:zh-cn Connection:Keep-Alive Host:localhost User-Agent:Mozila/4.0(compatible:MSIE5.01:Windows NT5.0) Accept-Encoding:gzip,deflate. ( 3) 请 求 正

13、文 请 求 头 和 请 求 正 文 之 间 是 一 个 空 行 , 这 个 行 非 常 重 要 , 它 表 示 请 求 头 已 经 结 束 , 接 下 来 的 是请 求 正 文 。 请 求 正 文 中 可 以 包 含 客 户 提 交 的 查 询 字 符 串 信 息 : username=jinqiao&password=1234 在 以 上 的 例 子 的 HTTP 请 求 中 , 请 求 的 正 文 只 有 一 行 内 容 。 当 然 , 在 实 际 应 用 中 ,HTTP 请 求 正 文 可 以 包 含 更 多 的 内 容 。 HTTP 请 求 方 法 我 这 里 只 讨 论 GET 方

14、法 与 POST 方 法 : 1 GET 方 法 GET 方 法 是 默 认 的 HTTP 请 求 方 法 , 我 们 日 常 用 GET 方 法 来 提 交 表 单 数 据 , 然 而 用GET 方 法 提 交 的 表 单 数 据 只 经 过 了 简 单 的 编 码 , 同 时 它 将 作 为 URL 的 一 部 分 向 Web 服 务器 发 送 , 因 此 , 如 果 使 用 GET 方 法 来 提 交 表 单 数 据 就 存 在 着 安 全 隐 患 上 。 例 如 Http:/127.0.0.1/login.jsp?Name=zhangshi&Age=30&Submit=%cc%E+%B

15、D%BB 从 上 面 的 URL 请 求 中 , 很 容 易 就 可 以 辩 认 出 表 单 提 交 的 内 容 。 ( ? 之 后 的 内 容 ) 另 外 由于 GET 方 法 提 交 的 数 据 是 作 为 URL 请 求 的 一 部 分 所 以 提 交 的 数 据 量 不 能 太 大 2 POST 方 法 POST 方 法 是 GET 方 法 的 一 个 替 代 方 法 , 它 主 要 是 向 Web 服 务 器 提 交 表 单 数 据 , 尤 其是 大 批 量 的 数 据 。 POST 方 法 克 服 了 GET 方 法 的 一 些 缺 点 。 通 过 POST 方 法 提 交 表 单

16、 数 据时 , 数 据 不 是 作 为 URL 请 求 的 一 部 分 而 是 作 为 标 准 数 据 传 送 给 Web 服 务 器 , 这 就 克 服 了GET 方 法 中 的 信 息 无 法 保 密 和 数 据 量 太 小 的 缺 点 。 因 此 , 出 于 安 全 的 考 虑 以 及 对 用 户 隐 私 的 尊 重 ,通 常 表 单 提 交 时 采 用 POST 方 法 。 从 编 程 的 角 度 来 讲 , 如 果 用 户 通 过 GET 方 法 提 交 数 据 , 则 数 据 存 放 在QUERY STRING 环 境 变 量 中 , 而 POST 方 法 提 交 的 数 据 则 可 以 从 标 准 输 入 流 中 获 取 。 HTTP 应 答 与 HTTP 请 求 相 似 , HTTP 响 应 也 由 3 个 部 分 构 成 , 分 别 是 : l 协 议 状 态 版 本 代 码 描 述 l 响 应 头 (Response Header) l 响

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号