HTTP从入门到入土(5)——HTTP报文格式

空行

空行位于请求头之后,由回车符和换行符组成,用来隔断请求头和请求正文。

请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。最后由回车和换行表示请求行结束。例如:

响应行

响应行由三部分组成,分别是:协议版本,状态码以及状态描述。

HTTP/1.0 200 OK

如上所示,协议版本是1.0版本,状态码为200,状态描述为OK,从这一条可以看出,服务器成功返回了信息。

403 Forbidden:服务器收到请求,但是拒绝提供服务。

HTTP报文格式

HTTP报文分为请求报文和响应报文,只有发送了请求报文,才会有响应报文。

常见的报文格式如下所示:

常见状态码及状态描述的说明如下:

请求正文

请求正文中一般存储请求方法(比如POST)携带的参数

Accept-Language:cn */*rn

响应头

响应头和请求头类似,用来描述服务器信息以及对请求头的回应。

(消息头部1)关键字 “:” 空格 值 回车换行

请求报文

一个请求报文由四部分组成,分别是:

  • 请求行
  • 请求头
  • 空行
  • 请求正文

(2)请求头部行(header)

空行

空行位于响应头之后,由回车符和换行符组成,用来隔断响应头和响应正文。

2.浏览器根据URL中的域名,通过DNS解析出目标网页的IP地址;

响应正文

响应正文就是服务器针对HTTP请求返回的数据,按照HTTP请求的数据不同可以返回不同种类的数据。

……

请求行

请求行由三部分组成,分别是:请求方法,URL以及协议版本。

GET /test/hi-there.txt HTTP/1.0

如上所示:该请求行的请求表示了本次请求的请求方法是GET,URL是/test/hi-there.txt,协议版本是1.0。

(1)请求行

请求头

请求头又多个键值对组成,一般用来描述客户端的情况以及对服务器的要求,可以说,请求头是HTTP协议中最重要的部分了,许多HTTP方面的优化都可以从请求头方面入手。

之后将会有文章专门介绍请求头。

(响应正文)……

响应报文

响应报文同样由四部分组成,分别是:

  • 响应行
  • 响应头
  • 空行
  • 响应正文

(请求头部行1)关键字 “:” 空格 值 回车换行(rn)

7.浏览器将网页的内容包括文本、图像、声音等显示呈现在用户计算机屏幕。

400 Bad Request:客户端请求有语法错误,不能被服务器所理解。

3.浏览器与网页所在服务器建立TCP连接;

Connection:告知服务器发送完文档后释放连接还是保持连接。

(请求头部行N)关键字 “:” 空格 值 回车换行(rn)

响应正文部分是服务器端根据客户端的请求发回的具体文档内容,以HTML语言表示。

……

1.用户在浏览器中键入需要访问网页的URL或者点击某个网页中链接;

(请求行)方法名 空格 URL 空格 版本 回车换行(rn)

HEAD的功能与GET相似,只是服务器端接收到HEAD请求后只返回响应头,而不会发送响应内容。当我们只需要查看某个页面的状态的时候,使用HEAD是非常高效的,因为在传输的过程中省去了页面内容。

HTTP协议是无连接的,它使用面向连接的TCP协议所提供的服务。同时,HTTP协议也是无状态的,即服务器端不记录客户端访问的时间和次数。最初的HTTP协议版本是1.0版,使用非持续连接(nonpersistentconnection)。每传输一个对象都需要利用1个往返时间RTT建立TCP连接,用1个往返时间RTT申请并传输回对象,即平均用2个往返时间RTT获取一个对象。目前使用比较广泛的是HTTP协议的1.1版本(HTTP/1.1),其在默认情况下使用持续连接(persistentconnection),即利用同一个TCP连接传输多个对象。

用户访问万维网文档,万维网文档之间的链接以及万维网文档中数据传送到用户计算机,这些功能的实现都是由超文本传输协议HTTP(HyperTextTransfer Protocol)负责完成的。HTTP是一个应用层协议,它使用TCP连接进行可靠的传送,能够在万维网上进行文本、声音、图像、视频等各种信息的交换。

6.释放TCP连接;

5xx:服务器端错误。服务器未能实现合法的请求。

HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。HTTP有两类报文:请求报文和响应报文。请求报文是从客户端向服务器发送的报文,响应报文是从服务器到客户端的报文。下面分别介绍请求报文和响应报文的具体格式。

Host:请求的主机名。

GET www.sdu.edu.cn  HTTP/1.1回车换行(rn)

(消息头部N)关键字 “:” 空格 值 回车换行

User-Agent:Mozilla/5.0

4xx:客户端错误。请求有语法错误或请求无法实现。

最后一个请求头部之后是一个空行,发送回车符和换行符,通知服务器以下不再有请求头部了。

(3)空行

Content-Type:表示返回消息的内容类型。

请求头部行包括若干行,每行由关键字及其值构成的,关键字和值用英文冒号“:”分隔,每一行都由回车换行表示结束。请求头部通知服务器有关于客户端请求的信息,典型的请求头部关键字有:

Accept:客户端可识别的内容类型列表。

本文由威尼斯人棋牌发布于计算机教程,转载请注明出处:HTTP从入门到入土(5)——HTTP报文格式