Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Encryption 是否可以为HTTPS完全缓存静态对象?(加密)_Encryption_Https - Fatal编程技术网

Encryption 是否可以为HTTPS完全缓存静态对象?(加密)

Encryption 是否可以为HTTPS完全缓存静态对象?(加密),encryption,https,Encryption,Https,如果我有一个静态对象(文件),客户端通过HTTPS请求它,那么在加密发生后是否可以缓存该文件?(为了节省每台客户机的加密处理时间) 注意:我不是问如何做,而是问它是否可能。通过发送缓存控制:public许多浏览器将缓存内容,即使内容是通过SSL发送的 IE和FF3+应该尊重这一点 编辑:对不起,误读了这个问题。 您还可以使用某种代理服务器在加密后存储内容。否。SSL/TLS生成的加密密钥对于每个连接都是不同的。密钥派生的一个组成部分是客户端生成的nonce,因此服务器无法预先计算密钥。所以不是每

如果我有一个静态对象(文件),客户端通过HTTPS请求它,那么在加密发生后是否可以缓存该文件?(为了节省每台客户机的加密处理时间)


注意:我不是问如何做,而是问它是否可能。

通过发送缓存控制:public许多浏览器将缓存内容,即使内容是通过SSL发送的

IE和FF3+应该尊重这一点

编辑:对不起,误读了这个问题。
您还可以使用某种代理服务器在加密后存储内容。

否。SSL/TLS生成的加密密钥对于每个连接都是不同的。密钥派生的一个组成部分是客户端生成的nonce,因此服务器无法预先计算密钥。

所以不是每个客户端,而是每个连接?因此,如果同一个客户端为两个单独的请求打开两个连接,则密钥将不同-因此需要对其重新加密?是的。更糟糕的是,如果同一个对象在同一个连接上发送两次,加密状态将发生变化,因此加密将不同。感谢快速响应,但根据Rasmus Faber的说法,不可能缓存静态对象的加密形式,由于连接时使用了不同的密钥。确实不可能在HTTP代理服务器上缓存通过SSL/TLS发送的内容(主要是因为它通过代理时仍然是加密的),但是,也可以在客户端上缓存内容,以供同一客户端的后续请求。SSL/TLS是关于传输安全的;一旦内容到达目的地,它就不再加密,而且可能会被客户端本身缓存,正如Matt所说。完全正确。我有点困惑,因为我配置了类似的东西。我想的是让一个应用服务器传输未加密的内容,让nginx或其他代理对缓存的内容执行加密。