1. 304 Not Modified理解
304虽被划分在3XX类别中,但和重定向没有关系。可以根据它的原因短语Not Modified看出:表示资源没有修改。
告诉浏览器“你访问的资源没做修改,和上次访问的资源一样”。这样浏览器就会在缓存中寻找历史网页返回。这样做的目的是为了防止浏览器下载重复的信息浪费资源,节省带宽,提高页面响应速度。
2.ETag
ETag是URL的tag,用来标示URL对象是否改变。可以应用于客户端的缓存:服务器产生ETag,并在HTTP响应头中将其传送到客户端,服务器用它来判断页面是否被修改过,如果未修改返回304,无需传输整个对象。
3.CDN
CDN就是将内容分发缓存在终端用户附近。
内容源离用户远。就在靠近用户的地方,建一个缓存服务器,把远端的内容,复制一份,放在这里。和镜像不同,CDN不是完全复制,它是针对性的复制部分内容。
CDN的好处:
- 加速网站访问速度(用户与服务器的物理距离缩短,请求响应速度也会变快)
- 隐藏了源服务器的IP,防止被恶意访问
- 故障迅速恢复(在一台服务器挂掉后能迅速用附近服务器补上,降低给用户带来的影响。)
4.MD5:
MD5 根据文件的内容用算法产生一个唯一的128位签名,用任何方法改变文件都会导致签名改变。所以MD5签名可以用于判断文件是否发生修改。