什么是HTTP协议
超文本传输协议Hyper Text Transfer ProtocolHTTP是一个简单的请求-响应协议它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出而消息内容则具有一个类似MIME的格式。
HTTP的工作原理
HTTP是基于客户/服务器模式且面向连接的。典型的HTTP事务处理有如下的过程
1客户与服务器建立连接
2客户向服务器提出请求
3服务器接受请求并根据请求返回相应的文件作为应答
4客户与服务器关闭连接。
HTTP协议的运作方式
在WWW中“客户”与“服务器”是一个相对的概念只存在于一个特定的连接期间即在某个连接中的客户在另一个连接中可能作为服务器。基于HTTP的客户/服务器模式的信息交换过程它分四个过程建立连接、发送请求信息、发送响应信息、关闭连接。
HTTP协议的报文格式
HTTP报文由从客户机到服务器的请求和从服务器到客户机的响应构成。请求报文格式如下
请求行 - 通用信息头 - 请求头 - 实体头 - 报文主体
请求行以方法字段开始后面分别是URL字段和HTTP协议版本字段并以CRLF结尾。SP是分隔符。除了在最后的CRLF序列中CF和LF是必需的之外其他都可以不要。有关通用信息头请求头和实体头方面的具体内容可以参照相关文件。
应答报文格式如下
状态行 - 通用信息头 - 响应头 - 实体头 - 报文主体
状态码元由3位数字组成表示请求是否被理解或被满足。原因分析是对原文的状态码作简短的描述状态码用来支持自动操作而原因分析用来供用户使用。客户机无需用来检查或显示语法。有关通用信息头响应头和实体头方面的具体内容可以参照相关文件。
HTTP 请求/响应的步骤
客户端连接到 Web 服务器
一个 HTTP 客户端。通常是浏览器,与 Web 服务器的 HTTP 端(默认为 80)建立一个 TCP 套接字连接。如:http://www.baidu.com;
发送 HTTP 请求
通过 TCP 套接字,客户端向 Web 服务器发送一个文本的请求报文,一个请求报文包括请求行、请求头部、空行和请求数据 4 部分组成。
服务器接受请求并返回 HTTP 响应
Web 服务器解析请求,定位请求资源。服务器将资源副本写到 TCP 套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据 4 部分组成。
释放 TCP 连接
如果 connect 模式为 close,则服务器阻断关闭 TCP 连接,客户端被动关闭连接,释放 TCP 连接;如果 connection 模式为 keepalive,则该连接会保持一段时间,在改时间内可以继续接收请求。
客户端浏览器解析 HTML 内容。
客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码,然后解析每一个响应头,响应头告知以下为若干字节的 HTML 文档和文档的字符集。客户端浏览器读取响应数据 HTML,根据 HTML 语法堆砌进行格式化,并在浏览器窗口中显示。
审核编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !