Tomcat 中的请求都是由 Servlet 处理,静态资源也不例外.在默认的 web.xml 中,配置了一个 DefaultServlet 用于处理静态资源,它支持缓存和断点续传. DefaultServlet 的基本处理过程如下: 查找资源是否存在缓存 检查是否满足可选 If 头域指定的条件 设置响应头域,如 Content-Type.Content-Length.ETag.Last-Modified 检查是否满足 Sendfile 的条件,否则将内容拷贝到输出流中 接下来主要分析资源缓存的…