Expire Header设置说明

摘要:简要介绍一下Expire Header 的作用及设置方法

什么是expire header

Expires头告诉浏览器他们是否应该从服务器请求特定文件,或者他们是否应该从浏览器的缓存中获取它。

Expires Headers背后的整个想法不仅是减少从服务器下载的负载(在未经修改时不断下载同一文件浪费宝贵的加载时间),而是减少服务器的HTTP请求数量。

当您访问网站时,您的浏览器负责与Web服务器通信以下载所有必需的文件。然后它编译这些文件以显示网页。随着网页的图形和内容越来越丰富,越来越多的文件在您的计算机和Web服务器之间传输。

在过去,您将拥有一个HTML文件,可能会为您的网站提供一些图像,但是许多现代网站每页可能有50多个文件要传输。文件本身本身可以增加大量的负载,但是对于每个文件,您必须创建一个请求,即使请求是几分之一秒,它们也可以很快加起来。

它是如何工作的?

过期标题在工作方式上相当简单。它们告诉浏览器将文件存储在缓存中多长时间,以便后续的页面查看和访问不必再次下载文件。您可以假设Expires Headers首次访问时不会提高页面速度,因为此访问者必须首次下载所有文件。使用Expires Headers有助于减少返回访问者的加载时间。

您可以在特定文件甚至文件类型上设置Expires标头。然后,当浏览器访问网站时,它可以看到它上次下载特定文件类型的时间。如果它是最近它将从缓存中显示它们,如果你有一段时间没有访问该网站它将从Web服务器下载最新版本。

我们的想法是为您网站上未更改的项目(徽标,颜色等)设置延迟到期时间。为经常变化的事物设定短暂的到期时间。

它为什么如此重要?

添加过期标头对于减少HTTP请求非常重要,这减少了服务器与浏览器通信所需的时间。它还允许您的用户重复使用已存储在浏览器中的缓存文件,以减少他们需要下载的文件数量。

Apache中设置方法

<IfModule mod_expires.c>
  ExpiresActive On

  # Images
  ExpiresByType image/jpeg "access plus 1 year"
  ExpiresByType image/gif "access plus 1 year"
  ExpiresByType image/png "access plus 1 year"
  ExpiresByType image/webp "access plus 1 year"
  ExpiresByType image/svg+xml "access plus 1 year"
  ExpiresByType image/x-icon "access plus 1 year"

  # Video
  ExpiresByType video/mp4 "access plus 1 year"
  ExpiresByType video/mpeg "access plus 1 year"

  # CSS, JavaScript
  ExpiresByType text/css "access plus 1 month"
  ExpiresByType text/javascript "access plus 1 month"
  ExpiresByType application/javascript "access plus 1 month"

  # Others
  ExpiresByType application/pdf "access plus 1 month"
  ExpiresByType application/x-shockwave-flash "access plus 1 month"
</IfModule>

IIS中设置方法

<staticContent>
<clientCache cacheControlMode="UseExpires" httpExpires="Tue,19 Jan 2038 03:14:07 GMT"/>
</staticContent>
评论