- 1、本文档共68页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
HTTP 协议及其相关标准 基础
HTTP 协议简介与 Web 应用程序构成分析 福州大学 软件学院 陈 昱 HTTP 协议及其相关标准基础 Outline 统一资源定位符 URL HTTP 协议 请求报文 响应报文 统一资源定位符 URL RFC 1738 Uniform Resource Locators 统一资源定位符 URL 怎样标识分布在整个因特网上数以亿计的万维网文档? 使用统一资源定位符 URL (Uniform Resource Locator) 来标识万维网上的各种文档 使每一个文档在整个因特网的范围内具有惟一的标识符 URL URL 的一般形式 由以冒号隔开的两大部分组成 URL 的一般形式是: 使用 HTTP 的 URL:主机名 使用 HTTP 的 URL 的一般形式 域名 DomainName 是在域名商处注册,并可以通过全球 DNS 系统解析的全球唯一的主机名 DNS( Domain Name System) 域名系统是将域名和 IP 地址相互映射的一个分布式数据库 能够使人更方便的访问互联网,而不用去记忆被机器使用的的 IP 数字 DNS 使用 TCP 和 UDP 端口 53 在互联网上我们可以通过付费在域名商那里注册域名,通过其管理系统将域名与我们的服务器 IP 绑定 使用 HTTP 的 URL:端口号 使用 HTTP 的 URL 的一般形式 使用 HTTP 的 URL:路径信息 使用 HTTP 的 URL 的一般形式 默认文件名通常为 index.html, index.htm, index.php 等 使用 HTTP 的 URL:查询字符串 HTTP 协议 WWW 的基础协议 RFC 2616 深入理解 HTTP 协议的历史和演变过程,对于设计高性能的网站体系架构能够起到显著的作用 ——— 摘自《程序员》2008 第5期 HTTP: HyperText Transfer Protocol 超文本传输协议 WWW (Web) 的基础 客户端/服务器模式 客户端: 浏览器请求、接收、展示 Web 内容 服务器: Web 服务器对请求进行响应,发送内容 HTTP 协议的工作流程 HTTP 是应用层协议,工作在 TCP 之上: 客户端发起 TCP 连接到服务器, 端口 80 服务器接受来自客户端的 TCP 连接 HTTP 报文 (应用层协议报文) 在浏览器 (http client) 和Web服务器 (http server) 之间进行交换 关闭 TCP 连接 HTTP 协议的版本 HTTP/0.9 古老的版本 HTTP/1.0 1982, Tim Berners-Lee 开始成为重要的面向事务的应用层协议 HTTP/1.1 最常用的版本 增加了持久连接,Cache 等新功能 HTTP 的协议报文结构 HTTP 有两类报文:Request, Response 请求报文 — 客户端向服务器发送的报文 响应报文 — 服务器给客户端的回答 HTTP 请求报文结构 HTTP 请求报文 — 请求行 “方法”就是对所请求的对象进行的操作 “URL”是所请求的资源的 URL “版本”是 HTTP 的版本 HTTP 请求方法 方法 意义 GET 向服务器请求指定的资源 HEAD 只返回HTTP头部而没有内容 POST 请求服务器修改存储在服务器上的信息 PUT 请求服务器在服务器上生成和替换资源 DELETE 请求服务器删除服务器上的资源 OPTION 请求服务器列出对指定资源所有可用的 请求方法 TRACE 请求服务器在收到请求头部后返回它 CONNECT 用于SSL和代理服务器 GET 方法 最简单的GET方法格式: GET URL HTTP/1.1 Host: HostName 后跟随一些可选的字段 字段由字段名和字段值构成 字段名和字段值之间用冒号隔开 Host 字段对于 HTTP 1.1 是必须的 Firefox 发起连接到 GET /index.html HTTP/1.1 用 telnet 测试 HTTP 用Telnet 连接测试用的服务器 $telnet 80 打开 TCP 连接到位于的 80 端口,后续键入的内容将发送到该主机端口 键入一条 http 请求报文: GET /index.html HTTP/1.1 Host: 将该指令键入后 (按两次回车键), 就将此最短之 (但是完整的) GET 请求发到了 http 服务器 注意观察服务器发回的信息 请求报文的头部信息 Host 服务器主机名(服务器通过它 支持虚拟主机) User-Agent 指明浏览器的版
文档评论(0)