session是指服务器保持与客户端的会话过程,利用了cookie来存储会话信息,它是服务器上的概念。
session本身与http关系不大,是在http的应用过程中出现的,基于cookie,是cookie的一个具体应用实例。
Cookie是存在客户端的,session是存在服务器的,都是用来保存用户的会话信息。
Cookie属于http协议的规定,而session不是协议规定,只是服务器的一种实现方式
刷新时发的是条件请求,不是普通的请求,所以就必须返回304,告诉浏览器内容没有过期,可以继续用缓存。
普通请求才会直接检查缓存,然后是200 cacahe from disk
前进,后退,跳转只是简单的动作,浏览器只是用最基本的请求头,没有“cache-control', 所以就会检查缓存,直接利用之前的资源,不再进行网络通信。
但是浏览器刷新按钮会携带条件请求头,如“if-Modified-Since”和“If-None-Match”这两个,则服务器就会验证资源,如果资源没有变,则返回“304 Not Modified”,表示缓存依然有效,浏览器更新一下有效期,然后就可以使用缓存了。
F5+ctrl 是浏览器发了Cache-Control: no-cache,则会进行网络请求服务器,,而且没有条件请求头,那么服务器就无法处理缓存,则只能返回最新的数据。