http协议讲解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• • • • • •
8.用户代理(User Agent) 9.服务器(Server) 10.原服务器(Origen Server) 11.年龄(Age) 12.保鲜(Fresh) 13.陈旧(State)
URI、URL和URN之间的区别与联系
• URI:Uniform Resource Identifier,统一资源标识符; • URL:Uniform Resource Locator,统一资源定位符; • URN:Uniform Resource Name,统一资源名称。 • 其中,URL,URN是URI的子集。 • Web上地址的基本形式是URI,它代表统一资源标识符。有 两种形式: • URL:目前URI的最普遍形式就是无处不在的URL或统一 资源定位器。 • URN:URL的一种更新形式,统一资源名称(URN, Uniform Resource Name)不依赖于位置,并且有可能减 少失效连接的个数。但是其流行还需假以时日,因为它需 要更精密软件的支持。
HTTPS概述
• HTTPS(Hypertext Transfer Protocol over Secure Socket Layer) • 即HTTP下加入SSL层,用于安全的HTTP数据传输。 HTTPS存在不同于HTTP的默认端口及一个加密/身份验证 层(在HTTP与TCP之间)。这个系统的最初研发由网景 公司进行,提供身份验证与加密通讯方法,现在它被广泛 用于万维网上安全敏感的通讯,例如交易支付方面
HTTP的宏观操作过程
一次HTTP操作称为一个事务,其过程分为四步: (1)首先客户机与服务器需要建立连接。只要单击某个超级 链接,HTTP的工作就开始了。 (2)建立连接后,客户机发送一个请求给服务器,请求方式 的格式为:统一资源标识符(URL)、协议版本号,后边 是MIME信息,包括请求修饰符、客户机信息和可能的内容。 (3)服务器接到请求后,给予相应的响应信息,其格式为一 个状态行,包括信息的协议版本号、一个成功或错误的代 码,后边的MIME信息包括服务器信息、实体信息和可能的 内容。 (4)客户端接收服务器所返回的信息通过浏览器显示在用户 的显示屏上,然后客户机与服务器断开连接。 如果在以 上过程中的某一步出现错误,那么产生错误的信息将返回 到客户端,有显示屏输出。
• (3)Date头域 Date头域表示消息发送的时间,时间的描述格式由rfc822 定义。例如:Date: Tue, 11 Jul 2000 18:30:30 GMT 。 Date描述的时间表示世界标准时,换算成本地时间,需要 知道用户所在的时区。
HTTP常见的请求头域
Accept:text/html,image 用于告诉服务器, 客户机支持的数 据类型 Accept-Charaset:ISO-8859-1 客户机支持的编码 Accept-Encoding:gzip 客户机支持的数据压缩格式 Accept-Language: zh-cn 客户机支持的语言 Host:www.t381.org 告诉服务器,想访问的主机名 Referer:http://www.ti23.org 从哪个资源访问服务器(常用于 防盗链) User-Agent:Mozilla 4.0 告诉客户机的软件环境 Cookie:可以带给服务器客户端的数据 Connection:close/Keep-Alive 请求后是关闭,还是保持连接
响应报文结构
• 由三部分组成:状态行 首部行 实体主体。
(1)状态行格式如下: HTTP-Version Status-Code Reason-Phrase CRLF 其中,HTTP-Version表示服务器HTTP协议的版本; Status-Code表示服务器发回的响应状态代码; Reason-Phrase表示状态代码的文本描述。 状态代码由三位数字组成,第一个数字定义了响应的类别, 且有五种可能取值。 1xx:指示信息--表示请求已接收,继续处理。 2xx:成功--表示请求已被成功接收、理解、接受。 3xx:重定向--要完成请求必须进行更进一步的操作。 4xx:客户端错误--请求有语法错误或请求无法实现。 5xx:服务器端错误--服务器未能实现合法的请求。
• HTTP常见的实体头域
• Content-Encoding:WEB服务器表明自己使用了什么压缩 方法(gzip,deflate)压缩响应中的对象。 • Content-Length:发送给HTTP服务器数据的长度 • Content-Type:WEB服务器告诉浏览器自己响应的对象的 类型和字符集 • Content-Language: WEB服务器告诉浏览器自己响应的 对象的语言者 • Last-Modified:实体对象的最后修改的时间
HTTP 的报文结构
• HTTP有两类报文: (1) 请求报文——从客户端向服务器发送请求报文。 (2) 响应报文——从服务器到客户端的回答。
请求报文
• 有三部分组成:请求行 首部行 实体主体
(1)请求行
• 请求方法
其中,GET和POST 是常用请求方法
(1)请求行
• URL 统一资源定位符是对可以从互联网上得到的资源的位置和 访问方法的一种简洁的表示,是互联网上标准资源的地址。 HTTP的URL的一般形式是: <HTTP>://<主机>:<端口>/<路径> • 协议版本 HTTP/1.1
• 默认HTTP的端口号为80,HTTPS的端口号为443。
• SSL概述
• SSL(全称:Secure Socket Layer) 安全套接层协议主要是使用公开密钥体制和X.509数字证 书技术保证信息传输的机密性和完整性,它不能保证信息 的不可抵赖性,主要适用于点对点之间的信息传输,常用 Web Serverf方式。
• 常用的通用头域 (1)Cache-Control头域 Cache-Control指定请求和响应遵循的缓存机制。在请求 消息或响应消息中设置Cache-Control并不会修改另一个 消息处理过程中的缓存处理过程。
• (2)Connection头域 表示是否需要持久连接(Keep-Allive/close)
HTTP 测试
小组成员:任壮祖 韩远兵 李 丽陈 婧
HTTP 测试
• HTTP 协议综述
• HTTP中GET和POST的主要区别 • URL提取程序设计
• HTTP协议的几个重要概念
• • • • • • • 1.连接(Connection) 2消息(Message) 3.请求(Request) 4.响应(Response) 5.资源(Resource) 6.实体(Entity) 7.客户机(Client)
常见状态代码、状态描述的说明如下:
200 OK:客户端请求成功。 400 Bad Request:客户端请求有语法错误,不能 被服务器所理解。 403 Forbidden:服务器收到请求,但是拒绝提供 服务。 404 Not Found:请求资源不存在,举个例子:输 入了错误的URL。 503 Server Unavailable:服务器当前不能处理客 户端的请求,一段时间后可能恢复正常。
首部行中HTTP最常见的响应头
• Date头域表示消息发送的时间,时间的描述格式由rfc822 定义。 • Content-Length 表示内容长度。 • Server 服务器名字。Servlet一般不设置这个值,而是由 Web服务器自己设置。 • Content-Type 表示后面的文档属于什么MIME类型。 • Cache-Control指定请求和响应遵循的缓存机制。
HTTP 协议的内部操作过程
• HTTP的头域
主要包括:通用头,请求头域,响应头域和实体头域四个 部分。每个头域由一个域名,冒号(:)和域值三部分组 成。域名是大小写无关的,域值前可以添加任何数量的空 格符,头域可以被扩展为多行,在每行开始处,使用至少 一个空格或制表符。
• 通用头域 通用头域包含请求和响应消息都支持的头域,通用头域包 含Cache-Control、Connection、Date、Pragma、 Transfer-Encoding、Upgrade、Via。对通用头域的扩展 要求通讯双方都支持此扩展,如果存在不支持的通用头域, 一般将会作为实体头域处理。
(3)空行
最后一个请求头之后是一个空行,发送回车符和换行符, 通知服务器以下不再有请求头。 (4)实体主体 请求数据不在GET方法中使用,而是在POST方法中使用。 POST方法适用于需要客户填写表单的场合。与请求数据 相关的最常使用的请求头是Content-Type和ContentLength。
HTTP常见的响应头域
• HTTP/1.1 200 OK 状态行,200是状态码表示一切OK
• Location: http://www.aaa.net 配合http302状态码使用,告 诉客户机应该找谁
• Server: Microsoft-IIS/5.0 告诉浏览器服务器的类型 • Refresh:多长时间之后刷新一次
4.无连接:无连接的含义是限制每次连接只处理一个请求。 服务器处理完客户的请求,并收到客户的应答后,即断开 连接。采用这种方式可以节省传输时间。
5.无状态:HTTP协议是无状态协议。无状态是指协议对于 事务处理没有记忆能力。缺少状态意味着如果后续处理需 要前面的信息,则它必须重传,这样可能导致每次连接传 送的数据量增大。另一方面,在服务器不需要先前信息时 它的应答就较快。
• 持续链接就是WEB服务器在发送响应后仍然在一段时间 内保持这条链接,使同一个客户和该服务器可以继续在这 条链接上传输后续的HTTP请求报文和响应报文。 • HTTP协议持续连接的两种工作方式: 1)飞流水线方式 2)流水方式
代理服务器
• 代理服务器是介于浏览器和Web服务器之间的一台服务器, 有了它之后,浏览器不是直接到Web服务器去取回网页而 是向代理服务器发出请求,请求信号会先送到代理服务器, 由代理服务器来取回浏览器所需要的信息并传送给你的浏 览器。 • 大部分代理服务器都具有缓冲的功能,就好象一个大的 Cache,它有很大的存储空间,它不断将新取得数据储存 到它本机的存储器上,如果浏览器所请求的数据在它本机 的存储器上已经存在而且是最新的,那么它就不重新从 Web服务器取数据,而直接将存储器上的数据传送给用户 的浏览器,这样就能显著提高浏览速度和效率。
HTTP协议中非持续连接和持续连接
• 非持续连接 在非持续连接中,一个TCP连接被每一组请 求/应答所创建。下面是这个策略的步骤: • 1.客户开启一个TCP连接并发送请求。 • 2.服务器发送响应并关闭连接。 • 3.客户读取数据直到它遇到了文件结束标记,然后关闭 连接。
HTT源自文库协议 持续链接
HTTP协议的主要特点可概括如下:
• 1.支持客户/服务器模式。 • 2.简单快速:客户向服务器请求服务时,只需传送请求方 法和路径。请求方法常用的有GET和POST。由于HTTP 协议简单,使得HTTP服务器的程序规模小,因而通信速 度很快。
• 3.灵活:HTTP允许传输任意类型的数据对象。正在传输 的类型由Content-Type加以标记。
HTTP/1.0 HTTP/0.9
(2)请求头部 请求头部由关键字/值对组成,每行一对,关键字和值 用英文冒号“:”分隔。请求头部通知服务器有关于 客户端请求的信息。
首部行中HTTP最常见的请求头
• • • • • • • • Accept:浏览器可接受的MIME类型。 Connection:表示是否需要持久连接。 Host:初始URL中的主机和端口。 Referer:包含一个URL,用户从该URL代表的页面出发 访问当前请求的页面。 User-Agent:浏览器类型,如果Servlet返回的内容与浏览 器类型有关则该值非常有用。 Accept-Encoding:浏览器能够进行解码的数据编码方式。 Content-Length:表示请求消息正文的长度 Cookie:辨别用户身份