Articles of google chrome

Chrome会忽略ETag标头,只是使用内存caching/磁盘caching

如果我理解正确,那么使用ETags的stream程如下所述: 浏览器将请求发送到服务器。 服务器用ETag发回图像 浏览器随同ETag一起保存资源 在下一个请求中,浏览器发送带有包含保存的ETag的头部If-None-Match的请求。 当返回响应时,chrome开发工具告诉我这些是我的头文件 Cache-Control:max-age=7200 Connection:keep-alive Content-Type:image/png Date:Thu, 27 Apr 2017 13:42:57 GMT ETag:"b36f59c868d4678033d318a182658e18371df8f5" Expires:Thu, 27 Apr 2017 15:42:57 GMT Server:nginx Transfer-Encoding:chunked X-Debug-Token:873c8f X-Debug-Token-Link:http://localhost:8081/_profiler/873c8f 现在,当我重新加载页面时,不会收集新的图像。 它通过Chrome的内存caching或磁盘caching保存,如您在这里看到的 但为什么会这样呢? 我发送了一个ETag,为什么浏览器不向服务器发出另一个请求,而是使用它自己的caching? 我问的原因是,我们想要caching我们的图像,但只要他们改变,他们应该立即更新。 为什么Chrome会这样做? 更新 我只是注意到它在Firefox上的作用,所以这似乎是一个铬“function”,而不是一个configuration。 更新2 设置我的新标题像这样的图像 Cache-Control:max-age=0, private Connection:keep-alive Content-Type:image/png Date:Thu, 27 Apr 2017 14:44:57 GMT ETag:"e5b18bdebe44ed4bba3acb6584d9e6a81692ee27" Expires:Fri, 27 Oct 2017 14:44:57 GMT Server:nginx Transfer-Encoding:chunked […]

由nginx提供的Chrome over-caching .json文件

我使用nginx和Dojo构build由一组JSON文件驱动的embedded式UI。 我们的主要目标浏览器是Chrome,但它应该适用于所有现代浏览器。 更改JSON文件可以大大改变用户界面,我用它来给不同的用户不同的演示文稿。 看到我以前的问题的细节( configurationnginx返回不同的文件,以不同的身份validation用户使用相同的URI ),但基本上我的nginxconfiguration是这样的,不同的用户相同的URI可以产生不同的内容。 除非有人切换到不同的用户,否则这一切都很好。 有些浏览器会从他们自己的内部caching中获取这些JSON文件,甚至没有与服务器进行检查,从而使UI显​​示前一个用户的表示。 重新加载页面修复它,但男孩! 我宁愿自动发生正确的事情吗? 显而易见的解决scheme是使用各种caching标题,但似乎没有帮助。 我正在使用下面的nginx指令: expires epoch; etag off; if_modified_since off; add_header Last-Modified ""; …产生以下响应标题: HTTP/1.1 200 OK Server: nginx/1.4.1 Date: Wed, 24 Sep 2014 16:58:32 GMT Content-Type: application/octet-stream Content-Length: 1116 Connection: keep-alive Expires: Thu, 01 Jan 1970 00:00:01 GMT Cache-Control: no-cache Accept-Ranges: bytes 对我来说,这看起来相当确定,但OS X的Chrome 36和OS X的Opera […]

'Access-Control-Allow-Origin'头部包含多个值 – nginx + sails.js

我使用Chrome浏览器浏览了两个域: 客户端: http://vb.localhost:909 (angular.js) 后端: http://db.localhost:909 / matches (sails.js,端口1337上的节点应用程序) 一切都由nginx服务。 我得到以下错误: XMLHttpRequest无法加载http://db.localhost:909 / matches 。 “Access-Control-Allow-Origin”标题包含多个值“*”,但只允许有一个值。 原因' http://vb.localhost:909 '因此不被允许访问。 这是两个服务器块的nginx.conf: server { listen 909; server_name vb.localhost; location / { root "\apps\vb-site\UI\dev"; index index.html; } } server { listen 909; server_name db.localhost; add_header Access-Control-Allow-Origin *; location / { proxy_pass http://127.0.0.1:1337; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header […]

无法加载资源:net :: ERR_INCOMPLETE_CHUNKED_ENCODING

我一直有一些问题,我的应用程序不加载视图(有时)。 我正在用php-fpm和nginx(php5.6.8和nginx 1.8.0)运行Debian服务器,两者都是从源代码编译的。 最重要的是我正在运行Lavavel 4.2。 到目前为止,我已经在Chrome和Firefox的问题(铬只是停止加载,并显示错误,Firefox不显示错误,但显示视图的不完整版本)。 到目前为止,我已经检查了nginx和PHP的权限,它们都以相同的用户身份运行(www-data:www-data)。 我的php-fpm套接字configuration为: [sitename] listen = /var/run/php5-fpm/sitename.sock listen.backlog = -1 listen.owner = www-data listen.group = www-data listen.mode=0660 ; Unix user/group of processes user = folderuser group = www-data ; Choose how the process manager will control the number of child processes. pm = dynamic pm.max_children = 75 pm.start_servers = 10 […]

在Chrome中随机高内容下载时间?

我们有一个随机在Chrome浏览器中content download时间很长的API,它总是在Firefox中运行良好,只需要几ms 。 响应大小为20kb未压缩和4kb压缩。 相同的请求也使用curl正常工作。 我们尝试过的东西: 禁用If-None-Match标题以禁用浏览器的caching响应。 尝试各种按压(gzip,deflate,br)。 禁用压缩。 禁用所有的Chrome扩展。 相同的请求有时在Chrome上运行良好,但随机返回非常高的内容下载时间。 我们无法理解这个问题的根源。 还有什么其他的事情可以尽量减less这个时间? 我在这里提出了三个要求,第三个要求花了最多时间(在最后一个峰之前)。 CPU似乎并没有在一段较长的时间内达到最大。 大部分时间都是空闲时间。 此外,使用Replay XHR菜单重放呼叫时,内容下载周期将从2秒下降到200毫秒。

子资源服务器提示标题不起作用

尝试使用子资源服务器提示,但似乎不起作用。 在下面的屏幕上,您可以看到具有“链接”标题的主页面,稍后将获取这两个资源。 正如你看到的发起者是parsing器,而不是parsing任何内容之前收到的头。 所以结果和我们使用这个头之前一样:( 任何想法为什么? 全尺寸: http : //i.stack.imgur.com/2ey2K.png 全尺寸: http : //i.stack.imgur.com/fHXCM.png

受CORS策略阻止的CORS策略阻止的Cloudfront CDN字体:请求的资源上没有“Access-Control-Allow-Origin”标题

我使用nginx作为我的主机,Amazon Cloudfront作为我的cdn。 从我的cdn头我的访问控制允许起源设置为* 从我的网站: curl -I http://example.com/ThemeIcons.woff?387osh HTTP/1.1 200 OK Server: nginx Date: Thu, 08 Dec 2016 03:01:23 GMT Content-Type: application/font-woff Content-Length: 18068 Last-Modified: Sat, 25 Jul 2015 05:35:17 GMT Connection: keep-alive ETag: "55b32015-4694" Expires: Thu, 31 Dec 2037 23:55:55 GMT Cache-Control: max-age=315360000 Access-Control-Allow-Origin: * Accept-Ranges: bytes 从我的cdn站点: curl -I http://cdn.example.com/ThemeIcons.woff?387osh HTTP/1.1 200 OK Content-Type: […]

NET :: ERR_CERT_AUTHORITY_INVALID https红色

当我尝试从Android移动设备访问我的ruby网站,我得到以下错误,任何人都可以帮助我解决这个问题。 以下添加错误NET :: ERR_CERT_AUTHORITY_INVALID

资源解释为文档,但与MIMEtypes的应用程序/八位字节streampdf转移

不知道为什么我面临这个问题,不能在Chrome浏览器中下载PDF文件,它在Nginx服务器上显示下面的错误。 资源解释为文档,但与MIMEtypes的应用程序/八位字节streampdf转移 虽然我已经包括MIMEtypes作为应用程序/ pdf

PouchDB复制时引发错误

当我尝试用我的本地pouchdb复制一个远程couchdb (在ubuntu 14.04- 64 bit ),我encouter这个奇怪的错误。 我的couchdb通过nginx代理并运行在https 。 客户端到nginx的stream量是ssl,而nginx到couchdb是简单的http。 Cors请求在couchdb中启用。 Nginx的configuration与推荐的couchdb最为相似。 从数据库同步工作正常,但是通过铬版本54.0.2840.100(64位)debugging时得到低于错误。 以下是错误的完整堆栈跟踪。 raven.min.js:2 Error: There was a problem getting docs. at finishBatch (http://localhost:8100/lib/pouchdb/dist/pouchdb.js:6410:13) at processQueue (http://localhost:8100/lib/ionic/js/ionic.bundle.js:27879:28) at http://localhost:8100/lib/ionic/js/ionic.bundle.js:27895:27 at Scope.$eval (http://localhost:8100/lib/ionic/js/ionic.bundle.js:29158:28) at Scope.$digest (http://localhost:8100/lib/ionic/js/ionic.bundle.js:28969:31) at http://localhost:8100/lib/ionic/js/ionic.bundle.js:29197:26 at completeOutstandingRequest (http://localhost:8100/lib/ionic/js/ionic.bundle.js:18706:10) at http://localhost:8100/lib/ionic/js/ionic.bundle.js:18978:7 at d (http://localhost:8100/lib/raven-js/dist/raven.min.js:2:4308) undefineda.(anonymous function) @ raven.min.js:2(anonymous function) @ ionic.bundle.js:25642(anonymous function) @ ionic.bundle.js:22421(anonymous […]