标签: vary

7
推荐指数
2
解决办法
9939
查看次数

在ASP.NET中,是否可以按主机名输出缓存?即varybyhost或varbyhostheader?

我有一个网站,有许多主机标题.主题和数据取决于主机标头,不同的主机加载不同的外观网站.

所以让我们假设我有一个名为"Foo"的网站,它返回搜索结果.相同的代码运行下面列出的两个站点.它是相同的服务器和网站(使用主机标头)

  1. www.foo.com
  2. www.foo.com.au

现在,如果我去.com,该网站以蓝色为主题.如果我去.com.au网站,它的主题是红色.

根据主机名,相同搜索结果的数据不同:美国结果.com和澳大利亚结果.com.au.

如果我想使用OutputCaching,可以通过主机名来处理和分区吗?

我担心一个人访问该.com网站后(正确返回美国结果),第二个访问该.com.au网站并搜索相同数据的人将获得该.com网站的主题和结果.

缓存可能吗?

asp.net outputcache hostheaders vary

7
推荐指数
2
解决办法
1778
查看次数

Chrome 是否支持 HTTP Vary 标头

Chrome 的缓存支持 HTTP Vary 标头吗?对于特定的 url 请求,服务器响应两个不同的 html 文件,具体取决于它是否是 ajax 请求。所以我将 Vary 标头添加到 X-Requested-With 中。我本以为 Chrome 会记录两个缓存条目,但事实似乎并非如此。我总是收到我发出的第一个请求的缓存命中。这是正常行为吗?

谢谢。

google-chrome xmlhttprequest browser-cache vary http-headers

6
推荐指数
1
解决办法
895
查看次数

当RewriteCond匹配时,mod_rewrite不发送Vary:accept-language

我有一个重写规则,重定向到/如果没有接受语言,有人试图访问?lang=en.它工作正常,除了返回的标头.Vary: accept-language响应中缺少.

RewriteCond %{HTTP:Accept-Language} ^$  
RewriteCond %{QUERY_STRING}         ^lang=en  
RewriteRule ^$                      http://www.example.com/?     [R=301,L]
Run Code Online (Sandbox Code Playgroud)

Apache文档指定:

如果在条件中使用HTTP标头,则此标头将添加到响应的Vary标头,以防条件评估为请求的true.如果请求的条件评估为false,则不会添加它.

条件肯定是匹配和重定向,所以我不明白为什么Apache不添加语言各不相同.可以看出为什么如果代理要缓存那么这将是一个真正的问题?lang = en总是重定向到/无论发送的接受语言头.

mod-rewrite apache2 vary

5
推荐指数
1
解决办法
1585
查看次数

HTTP 变化:Cookie 与缓存控制:私有

我正在编写一个 Web 应用程序框架。为了正确支持反向代理服务器,我想确保每当 Web 应用程序访问 cookie 数据时,发送给用户的页面只会为该用户缓存。据我所知,有两种方法可以实现这一点:

header('Vary: Cookie');
Run Code Online (Sandbox Code Playgroud)

或者

header('Cache-Control: private');
Run Code Online (Sandbox Code Playgroud)

使用的直接好处Vary: Cookie是反向代理服务器将缓存未经身份验证的请求。但是,我们正在使用通过 javascript 创建 cookie 的 Google Analytics - 所以我担心 Vary: Cookie 方法不可用?

cookies caching cache-control vary http-headers

5
推荐指数
1
解决办法
2685
查看次数

Sitecore缓存和变化

这是我第一次使用Sitecore缓存,我无法找到关于如何使用Sitecore中各种不同选项的好指南.我想知道每个是如何不同的,它们在缓存的内容以及在典型场景中使用的内容方面有何不同?

任何投入都表示赞赏.谢谢

caching sitecore vary

4
推荐指数
1
解决办法
852
查看次数

多个Vary HTTP标头或一个组合?

问题:Vary当服务器接受gzip/deflate连接并为移动客户端提供不同的内容时,发送HTTP标头的最佳方法是什么?

我看到两种可能的变体,但我找不到任何有用的信息,无论它们是否正确和/或大多数代理和搜索引擎支持:

  1. 将变体组合到一行: Vary: Accept-Encoding,User-Agent
  2. 发送两个单独的标题:

Vary: Accept-Encoding

Vary: User-Agent

欢迎任何信息或链接到适当的W3C标准:)

http vary http-headers

3
推荐指数
1
解决办法
1426
查看次数

Vary Accept-Encoding标头不起作用

我在.htaccess中添加了下一行,我在这里找到了如何在htaccess中指定vary accept encoding header

    <IfModule mod_headers.c>
       <FilesMatch "\.(js|css|xml|gz)$">
         Header append Vary Accept-Encoding
       </FilesMatch>
     </IfModule>
Run Code Online (Sandbox Code Playgroud)

但它不起作用,我也检查了phpinfo(加载模块:mod_headers ...).我使用Page Speed插件,我在css文件中看不到这个标题.为什么它不起作用?

.htaccess header vary

2
推荐指数
1
解决办法
7043
查看次数