200 OK:
表示从客户端发来的请求再服务器端被正常处理了。
在响应报文内,随状态码一起返回的信息会因方法的不同而不同。
例如使用GET方法时,对应请求资源的实体会作为响应返回;使用HEAD方法时,对应请求资源的主体不随报文首部作为响应返回(即只返回首部,不返回实体的主体部分)。
304 Not Modified:
表示客户端发送附带条件(if-xxx)的请求时,服务器端允许请求访问资源,若请求未满足条件时,直接返回304 Not Modified(服务器端资源未改变,可直接使用客户端未过期的缓存)。
304状态码返回时,不包含任何响应的主体部分。
304虽然被划分在3XX类别中,但是和重定向没有关系。
200和304:
当客户端第一次请求服务器资源,服务器成功返回资源,这时状态码为200。
状态码为200的数据包通常包含用户从服务器获取的数据。
在资源请求完成后,通常会被缓存在客户端,并会记录资源的有效时间和修改时间。
当客户端再次请求该资源,客户端首先从缓存中查找该资源。
如果该资源存在且在有效期内,则不请求服务器,也就不会产生对应的请求数据包。
如果不在有效期内,则客户端会请求服务器,重新获取。
服务器会判断修改时间,如果没有修改过,就会返回状态码304,表示该资源仍然有效。
此时客户端会直接使用缓存的资源。