关于请求报文,响应报文前端需要知道哪些?面试的时候又该如何回答?

164 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路

在学习web前端Ajax时需要进行前端后端交互,这时候我们需要了解什么是请求报文,什么是响应报文,我们前端需要用到哪些?
在这里插入图片描述

1. 请求报文

一个HTTP请求报文由请求行(request line)、请求头部(header)和请求主体3个部分组成。

1.1 请求行

请求行由三部分组成:请求方法,请求URL(不包括域名),HTTP协议版本
请求方法比较多:GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT
最常用的是GET和POST。

1.2 请求头

请求头部由关键字/值对组成,每行一对

User-Agent : 产生请求的浏览器类型
Accept : 客户端希望接受的数据类型,比如 Accept:text/xml(application/json)表示希望接受到的是xml(json)类型
Content-Type:发送端发送的实体数据的数据类型。
比如,Content-Type:text/html(application/json)表示发送的是html类型。
Host : 请求的主机名,允许多个域名同处一个IP地址,即虚拟主机。

1.3 请求主体

GET没有请求数据,POST有。

与请求数据相关的最常使用的请求头是 Content-Type 和 Content-Length 。

2. 响应报文

HTTP响应报文和请求报文的结构差不多,也是由三个部分组成:状态行,响应头,响应主体

2.1 状态行

状态行也由三部分组成:服务器HTTP协议版本,响应状态码,状态码的文本描述
格式:HTTP-Version Status-Code Reason-Phrase CRLF
比如:HTTP/1.1 200 OK
状态码:由3位数字组成,第一个数字定义了响应的类别

1xx:指示信息,表示请求已接收,继续处理
2xx:成功,表示请求已被成功接受,处理。
3xx:重定向
4xx:客户端错误
5xx:服务器端错误,服务器未能实现合法的请求

2.2 响应头

服务器的一些信息,服务器想要告诉浏览器的一些信息。

2.3 响应主体

正常用户看到的内容。

3. 面试时如何回答?

请求报文:请求报文包括请求行、请求头、请求主体。主要有:发送的方法、浏览器的信息以及发送的数据。

响应报文:响应报文包括状态行、响应头和响应主体。主要是:请求是否成功,服务器的信息以及浏览器中直接可以看到的内容。