Security ❀ HTTP协议响应头部的内容

HTTP协议响应头部的内容

服务器端接收到用户的请求包后,会根据其中的请求内容进行处理,并且返回HTTP响应消息,HTTP响应包与请求包的结构类似,也由三个部分组成,分别是响应行、响应消息报头、响应正文;

(1)响应行
响应行的基本格式为:

HTTP-Version Status-Code Reason-Phrase CRLF
  • HTTP-Version:表示服务器HTTP协议的版本;
  • Status-Code:服务器发回的响应状态码;
  • Reason-Phrase:状态码的文本描述;

服务器状态码
服务器状态码用来告知客户端Web服务对本次的请求响应状态是什么,状态码由三位数字组成,其中第一个数字定义了响应的类别,有以下五种可能:

  • 1XX 表示提示信息,说明请求已被成功接收,继续处理;
  • 2XX 表示成功,说明请求已被成功接收、理解、接受;
  • 3XX 表示重定向, 完成请求必须进行更进 步处理;
  • 4XX 表示客户端错误,请求有语法错误或请求无法实现;
  • 5XX 表示服务器端错 ,服务器处理请求时出错;

后面两位数字会利用不同的数字来代表当前服务的状态,以下是常见状态码及状态描述:
200: OK ,客户端请求成功;
301: Permanently Moved ,页面重定向;
203: Temporarily Moved ,页面临时重定向;
400: Bad Request ,客户端请求有语法错误,不能被服务器所理解;
401: Unauthorized ,请求未 授权,这个状态代码必须和 WWW-Authenticate一起使用;
403: Forbidden ,服务器收到请求,但是拒绝提供服务;
404: Not Found ,请求资源不存在,或者请求无法;
500: Internal Server Error ,服务器发生不可预期的错误;
503: Server Unavailable ,服务器当前不能处理客户端的请求, 段时间后可能恢复正常;

(2)响应消息报文
响应消息报文允许服务器传递不能放在响应行中的附加响应信息,以及关于服务器的信息和对Request-URL所标识的资源进行下一步访问的信息;

常用的响应消息报头有以下内容:

  • Server:包含服务器用来处理请求的软件信息,在响应包中Server信息与请求包中User-Agent信息的作用非常类似,都是将自身的版本告知对方;
  • X-Powered-By:标识实现当前Web站点所采用的的语音及版本号;
  • Set-cookie:根据响应包生成Cookie,并且提供给客户端;
  • Content-Length:与请求包中的用法相同,用以标识当前响应包中的内容长度;

(3)响应正文内容
相对于请求包中的正文内容,响应包中的内安全会携带当前页面的源码,客户端浏览器可以根据响应包中的源码显示出完整的页面,从安全的角度来说,对于响应包中的正文内容,直接观看浏览器会直观、方便得多,因此在Web安全研究时,无需关注这部分内容;

猜你喜欢

转载自blog.csdn.net/qq_42197548/article/details/106108873
今日推荐