我正在使用PHP生成动态内容.
我正在发送以下HTTP标头:
HTTP/1.1 304 Not Modified
Date: Sun, 09 Dec 2012 17:24:41 GMT
Server: Apache
Connection: keep-alive, Keep-Alive
Keep-Alive: timeout=1, max=100
Etag: "237f43b800e655dbe6567f7d32d34c99"
Expires: Sun, 16 Dec 2012 17:24:41 GMT
Cache-Control: max-age=604800
Vary: Accept-Encoding
Run Code Online (Sandbox Code Playgroud)
我后来检查Etag header('HTTP/1.1 304 Not Modified')是否匹配发送一个.这与Chrome和Firefox完美配合.但是,Safari(版本6.0.2)不会发送"If-Modified-Since"和"If-None-Match"标头.这是Safari在第二页上发送的Request-Header命中:
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/536.26.17 (KHTML, like Gecko) Version/6.0.2 Safari/536.26.17
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Cache-Control: max-age=0
Run Code Online (Sandbox Code Playgroud)
在该页面上链接的所有其他文件在适当的时候接收正确的Request-Headers和Safari使用的缓存文件或304.
为什么不向Safari发送正确的Request-Header?我能改变什么?
谢谢!
我有一个具有以下属性的视频标签:
<video width="xx" height="xx" poster="image.jpg" preload="auto">
Run Code Online (Sandbox Code Playgroud)
我需要显示海报图像,并且我希望视频预加载。
我不显示浏览器的控件,而是使用自定义控件(CSS 和 Javascript)手动控制视频。视频应该在我点击它时开始。
在 Firefox 中,这按预期工作:我单击海报图像并开始播放视频。我点击视频,视频停止。
在当前的 webkit 浏览器(Safari 6.0.2、Chrome 23.0.1271.64)上,这不起作用:
只要我点击海报图像,视频就会变得不可见,留下一个空白(白色)框。我听到声音,但可以看到视频。当我点击那个框时,声音停止了。
如果我设置preload="none" 或离开海报图像,这将再次在 webkit-browsers 中工作。
是否有任何已知的解决方法?
我正在使用z-push-contrib从 IMAP 服务器(也由我运行)获取电子邮件。
如果我使用该imap_open选项/ssl并连接到端口 993,则正在使用 TLS 1.2。
如果我使用/tlsSTARTTLS使用并连接到端口 143,则将使用 TLS 1.0 和不同的密码。
SMTP 行为相同(STARTTLS 仅使用 TLS 1.0)
如果我从命令行使用 openssl,则正在使用 TLS 1.2:
无论我使用 STARTTLS 连接到端口 993 还是 143,我总是使用相同的强大的现代密码获得 TLS 1.2 连接。
这是 PHP 的 Openssl 实现中的错误吗?