HTTP状态码之200和304

HTTP状态码(HTTP Status Code)是一种表示网页服务器响应状态的三位数字编码。通过这些数字,可以简化状态的表达。状态码有十种,其中首位数字为1-5。根据这5个数字,状态码可以分为5类。1XX表示请求正在处理;2XX表示请求已经成功处理;3XX表示重定向;4xx表示请求错误;5xx表示服务器错误。

在嗅探抓包的过程中,常见的状态吗有200和304。这两个状态码都关系到能否获取重要的信息。当用户第一次请求服务器资源,服务器成功返回资源,这是状态码为200。所以,状态码为200的数据包往往包含用户从服务器获取的数据。

每个资源请求完成后,通常会被缓存在客户端,并会记录资源的有效时间和修改时间。当客户再次请求资源时,客户端首先从缓存中查找该资源。如果该资源存在,并且在有效期,则不请求服务器,就不会产生对应的请求数据包。

如果不在有效期,客户端会请求服务端,重新获取。服务器会判断修改时间,如果没有修改过,就会返回状态码304,告诉客户端该资源依然有效,客户端会直接使用缓存中的资源。针对304响应,渗透人员可以分析对应的请求包,获取资源路径。如果该资源不限制访问,就可以直接请求获取。否则,就需要进行Cookie劫持,进行获取。

 

你可能感兴趣的:(前端)