标签:区分大小写 根据 use 概念 数据量 版本 请求头 浏览器 www
一、基本概念名称含义:HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写。
作用:HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等),用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。
特点:
简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。
HTTP Request报文由:请求行(request line)、请求头部(header)、空行(empty line)和请求数据(body)四个部分组成。
<method><request-URL><version>
<headers>
<entity-body>
start line
Header
来自请求的 HTTP headers 遵循和 HTTP header 相同的基本结构:不区分大小写的字符串,紧跟着的冒号 (‘:‘) 和一个结构取决于 header 的值。 整个 header(包括值)由一行组成,这一行可以相当长。
body
请求的最后一部分是它的 body。不是所有的请求都有一个 body:例如获取资源的请求,GET,HEAD,DELETE 和 OPTIONS,通常它们不需要 body。 有些请求将数据发送到服务器以便更新数据:常见的的情况是 POST 请求(包含 HTML 表单数据)。
HTTP Response报文由:状态行、消息报头、空行和响应正文组成。
<version<status><reason-phrase>
<headers>
<entity-body>
status line
HTTP 响应的起始行被称作 状态行 (status line),包含以下信息:
Header
响应的 HTTP headers 遵循和任何其它 header 相同的结构:不区分大小写的字符串,紧跟着的冒号 (‘:‘) 和一个结构取决于 header 类型的值。 整个 header(包括其值)表现为单行形式。
有许多响应头可用,这些响应头可以分为几组:
body
响应的最后一部分是 body。不是所有的响应都有 body:具有状态码 (如 201 或 204) 的响应,通常不会有 body。
Body 大致可分为三类:
HTTP/1.x 报文有一些性能上的缺点:
HTTP/2 引入了一个额外的步骤:它将 HTTP/1.x 消息分成帧并嵌入到流 (stream) 中。数据帧和报头帧分离,这将允许报头压缩。将多个流组合,这是一个被称为 多路复用 (multiplexing) 的过程,它允许更有效的底层 TCP 连接。
标签:区分大小写 根据 use 概念 数据量 版本 请求头 浏览器 www
原文地址:http://blog.51cto.com/kaliarch/2131621