HTTP协议(8)HTTP响应报文和状态码

对于HTTP响应报文,比较重要的信息主要有两部分,一部分是响应行中的状态码,另外一部分是响应头。下面分别介绍。
响应头信息中比较重要的部分:php

(1) Server,服务端所使用的Web服务名称,如:Server:Apache/1.3.6(Unix)。
(2) Set-Cookie:服务器向客户端设置的Cookie。
(3) Last-Modified,服务器经过这个域告诉客户端浏览器,资源的最后修改时间。
(4) Location:重定向用户到另外一个页面,好比身份认证经过以后就会转向另外一个页面。这个域一般配合302状态码使用。
(5) Content-Length:body部分的长度(单位字节)。

状态码都是由三位数字组成,主要分为5个大类:浏览器

   1xx:100-101,指示信息,表示请求已经接收,会继续处理。这种状态码不多见到。
   2xx:200-206,客户端请求被服务器成功接收并处理后返回的响应;
   3xx:300-305,重定向,一般都是在身份认证成功后重定向到一个安全页面;
   4xx:400-415,客户端请求错误;
   5xx:500-505,服务器端错误。

状态码共有50多个,其中比较常见的有:安全

常见状态代码  状态描述        说明
  200       OK              客户端请求成功
  302       Found       重定向,跳转的地址经过location指定。
  304       Not Modified    服务端资源未更新。   
  401       Unauthorized    请求未经受权,须要进行身份验证。
  403       Forbidden   服务器收到请求,可是拒绝提供服务
  404       Not Found   请求资源不存在,例如输入了错误的URL
  500       Internal Server Error 服务器发生不可预期的错误
  503       Server Unavailable      服务器当前不能处理客户端的请求

大多数的网站扫描工具其基本工做原理都是基于状态码来进行判断。下面咱们结合Burpsuite来进一步了解状态码。
咱们首先访问服务器中的一个正常页面test1.php,此时的状态码为200。
HTTP协议(8)HTTP响应报文和状态码服务器

而后再访问一个不存在的页面test10.php,此时状态码为404:
HTTP协议(8)HTTP响应报文和状态码ide

咱们再去访问一个网站中并不存在的目录admin(注意,目录名字后面要加/),状态码依然是404:
HTTP协议(8)HTTP响应报文和状态码
咱们建立出目录admin,此时显示状态码为200。若是执行chmod 700 admin命令,将目录权限设置为700,那么再次访问目录,状态码为403。
HTTP协议(8)HTTP响应报文和状态码
再好比咱们在Web服务器中安装上DVWA,访问登陆页面,正确输入用户名和密码,拦截请求以后,发送出去,此时返回的状态码为302,并经过location指定了要跳转到的页面。
HTTP协议(8)HTTP响应报文和状态码
若是重复访问某个静态页面,则会收到状态码304。表示服务器端资源未更新。
HTTP协议(8)HTTP响应报文和状态码工具

相关文章
相关标签/搜索