http返回状态码研究所

202 阅读1分钟

http 1.0是短连接 http 1.1是长连接,短连接就是‘嘿,我张三’就挂电话了,长连接就是‘嘿,我张三’等对方响应,请求头里 connection字段是keep-alive,现在大多都是长连接

【302】

请求一个资源,返回302和跳转链接(可以是本地和外网),浏览器再去请求跳转链接,跳转链接服务器返回200

【304】

告诉请求方服务器资源没有修改,无需再次获取

下面这张图,请求一个本地已经有缓存的图片,请求头中给出来当前图片最后一次修改的信息,服务器和自己的记录对比发现修改时间一致,说明这段时间图片没有修改,请求方可以使用缓存图片,就会返回304,说明没有修改,可以使用缓存

【refresh】

请求一个页面,返回的头有refresh,这里表示3秒之后重定向到这个链接,可以是外网

【通过改变头部信息禁用缓存】

需要对三个变量操作,因为不同的浏览器可能使用的字段不一样

【下载文件】

下载一个文件,首先服务器端肯定要把数据读入自己的内存,然后返回给请求端,请求端根据返回的头信息知道这是一个下载文件而不是显示在页面上,就会按照用户指定目录将文件保存在本地

返回头信息如下,告诉浏览器这是下载文件

针对下载文件的操作,服务器端的工作就是 【打开文件】【读取文件】返回给客户端,如下