express 304/302 访问超时
发布于 5个月前 作者 yulesyu 434 次浏览 来自 问答

express版本:express 3.4.8和express 4.9.5 环境:linux 64位 操作步骤:

  1. 安装express命令 #npm install -g express-generator;

  2. 建立网站基本结构 #express --ejs blog;

  3. 安装模块 #npm install;

  4. 将ip和port绑定到一个域名url。 访问地址url,页面正常加载,前端页面截图: normal.jpg 后台打印的日志截图: h200.png

  5. 刷新页面 页面一直加载不出来,直到超时,前端网页截图:
    ti.png 后台打印的日志截图: 304.png 此时后台一直卡在304状态,没有发送应答给浏览器,然后浏览器过一段时间显示超时。

  6. 禁止掉etag后不会出现此问题(每次请求都返回200,不再是304)。 app.disable(‘etag’);

  7. 禁止掉etag后,只要express应答出现304或者重定向(redirect)302都会出现上述问题。

    哪位大神遇到过这个问题,求解答。

  • linux服务器的问题?
  • express的配置问题?
  • express本来就存在这个问题?
3 回复

好难的感觉…

重现了一下,无论是Firefox还是Chrome直接访问http://ip_address:port都没问题。你是用域名访问的,直接用IP地址访问,检查是否还出现这个问题。

下面是测试用到的设置:

  • Ubuntu 14.04 64bit
  • node.js 0.10.29
  • npm 1.4.14
  • express 4.9.5
回到顶部