ERSITY 第七章 HTTP协议
第 七 章 HTTP协议
ttp简介 旬现在在internet中使用最广的莫过于HTTP 协议了,也就是超文本传输协议,目前版本 主要为 Httpver1为标准。 旬在HTP协议中,服务端是指提供HTP服务 的部分,客户端是指你使用的浏览器或者下 载工具等等。 旬在通讯时,由客户端发出请求连接,服务端 建立连接;然后,客户端发出HTTP请求 ( Request),服务端返回响应信息 ( Respond),由此完成一个HTP操作。 Zhang Dongyan TCP/IP Protocols
Zhang Dongyan TCP/IP Protocols 2 Http简介 现在在internet中使用最广的莫过于HTTP 协议了,也就是超文本传输协议, 目前版本 主要为HTTP ver1.1为标准。 在HTTP协议中,服务端是指提供HTTP服务 的部分,客户端是指你使用的浏览器或者下 载工具等等。 在通讯时,由客户端发出请求连接,服务端 建立连接;然后,客户端发出HTTP请求 (Request),服务端返回响应信息 (Respond),由此完成一个HTTP操作
ERSITY HTTP协议的主要特点 ①支持客户服务器模式。 ②简单快速:客户向服务器请求服务时,只需传送 请求方法和路径。请求方法常用的有GET、 HEAD、POST。每种方法规定了客户与服务器联 系的类型不同。 由于HTTP协议简单,使得HTTP服务器的程序规模小, 因而通信速度很快。 ③灵活:HITP允许传输任意类型的数据对象。正 在传输的类型由 Content-Iype加以标记。 ④无连接:无连接的含义是限制每次连接只处理一 Zhang Dongyan TCP/IP Protocols
Zhang Dongyan TCP/IP Protocols 3 HTTP协议的主要特点 ① 支持客户/服务器模式。 ② 简单快速:客户向服务器请求服务时,只需传送 请求方法和路径。请求方法常用的有GET、 HEAD、POST。每种方法规定了客户与服务器联 系的类型不同。 – 由于HTTP协议简单,使得HTTP服务器的程序规模小, 因而通信速度很快。 ③ 灵活:HTTP允许传输任意类型的数据对象。正 在传输的类型由Content-Type加以标记。 ④ 无连接:无连接的含义是限制每次连接只处理一
ERSITY 个请求。服务器处理完客户的请求,并收到客户的应答 后,即断开连接。采用这种方式可以节省传输时间。 5无状态:HTTP协议是无状态协议。无状态是指协议 对于事务处理没有记忆能力 Zhang Dongyan TCP/IP Protocols
Zhang Dongyan TCP/IP Protocols 4 个请求。服务器处理完客户的请求,并收到客户的应答 后,即断开连接。采用这种方式可以节省传输时间。 5 无状态:HTTP协议是无状态协议。无状态是指协议 对于事务处理没有记忆能力
ERSITY http协议规范 旬HTTP协议的内部操作过程分四个过程, 建立连接、发送请求信息、发送响应信息、 关闭连接。 建立连接 发出请求信息 发出响应信息 关闭连接 胆 客户机 服务器 Zhang Dongyan TCP/IP Protocols
Zhang Dongyan TCP/IP Protocols 5 http协议规范 HTTP协议的内部操作过程分四个过程, 建立连接、发送请求信息、发送响应信息、 关闭连接
ERSITY HTTP/1.0报文有两种类型:请求和响应。 HTTP/1.0请求的格式是: quest-line headers(0或有多个) body(只对POST请求有效) e quest-line的格式是: request request-uri Http版本号 Zhang Dongyan TCP/IP Protocols
Zhang Dongyan TCP/IP Protocols 6 H T T P / 1 . 0报文有两种类型:请求和响应。 H T T P / 1 . 0请求的格式是: re q u e s t - l i n e headers ( 0或有多个) body (只对P O S T请求有效) re q u e s t - l i n e的格式是: request request-URI HTTP版本号
ERSITY 支持以下三种请求: 1)GET请求,返回 re q t-UR瑞指出任意信息。 2)HEAD请求,类似于GET请求,但服务器程序只 返回指定文档的首部信息,而不包含实际的文档内容。 该请求通常被用来测试超文本链接的正确性、可访问 性和最近的修改。 3)POST请求用来发送电子邮件、新闻或发送能由交 互用户填写的表格。这是唯一需要在请求中发送body 的请求。使用POST请求时需要在报文首部 Conten t- Length字段中指出body的长度。 Zhang Dongyan TCP/IP Protocols
Zhang Dongyan TCP/IP Protocols 7 支持以下三种请求: 1) G E T请求,返回re q u e s t - U R I指出任意信息。 2) H E A D请求,类似于G E T请求,但服务器程序只 返回指定文档的首部信息,而不包含实际的文档内容。 该请求通常被用来测试超文本链接的正确性、可访问 性和最近的修改。 3) P O S T请求用来发送电子邮件、新闻或发送能由交 互用户填写的表格。这是唯一需要在请求中发送b o d y 的请求。使用P O S T请求时需要在报文首部C o n t e n t - L e n g t h字段中指出b o d y的长度
ERSITY HTTP/1.0响应的格式是: status-line headers(0个或有多个) body status-line的格式是 HTTP版本号response-coderesponse-phrase Zhang Dongyan TCP/IP Protocols
Zhang Dongyan TCP/IP Protocols 8 H T T P / 1 . 0响应的格式是: s t a t u s - l i n e headers ( 0个或有多个) b o d y s t a t u s - l i n e的格式是: H T T P版本号response-code re s p o n s e - p h r a s e
ERSITY 首部字段 HTTP/1.0的请求和响应报文的首部均可包含可 变数量的字段。用一个空行将所有首部字段与报文主体 分隔开来。一个首部字段由字段名和随后的冒号、一个 空格和字段值组成,字段名不区分大小写。 报文头可分为三类:一类应用于请求,一类应用于 响应,还有一类描述主体。有一些报文头(例如:Date) 既可用于请求又可用于响应。描述主体的报文头可以出 现在POST请求和所有响应报文中。下图列出了17种 不同的报文头。未知的报文头字段将被接收者忽略。 Zhang Dongyan TCP/IP Protocols
Zhang Dongyan TCP/IP Protocols 9 首部字段 H T T P / 1 . 0的请求和响应报文的首部均可包含可 变数量的字段。用一个空行将所有首部字段与报文主体 分隔开来。一个首部字段由字段名和随后的冒号、一个 空格和字段值组成,字段名不区分大小写。 报文头可分为三类:一类应用于请求,一类应用于 响应,还有一类描述主体。有一些报文头(例如:D a t e) 既可用于请求又可用于响应。描述主体的报文头可以出 现在P O S T请求和所有响应报文中。下图列出了1 7种 不同的报文头。未知的报文头字段将被接收者忽略
ERSITY 首部名称 请求?响应?主体? A1。w Authorization Content-Encoding Content-Length Content-Type Date Expires From 工f- Modified- since Last-Modi fied Location MIME-Version Pragma Referer Server User-Agent AW- Authenticate HTTP报文首部的名称 Zhang Dongyan TCP/IP Protocols
Zhang Dongyan TCP/IP Protocols 10 HTTP报文首部的名称