Tag: http headers

如何在Express框架中设置位置响应HTTP头?

如何在Express中设置响应Location HTTP标头? 我试过这个,但是不起作用: Controller.prototype.create = function(prop, res) { var inst = new this.model(prop); inst.save(function(err) { if (err) { res.send(500, err); } res.location = '/customers/' + inst._id; res.send(201, null); }); }; 这个代码是在MongoDB中保存一个新的文档,并在竞争时设置位置并发送201响应。 得到了这个回应,没有Location标题设置: HTTP/1.1 201 Created X-Powered-By: Express Content-Length: 0 Date: Mon, 18 Feb 2013 19:08:41 GMT Connection: keep-alive 编辑 :作为uʍopǝpısdn (酷尼克btw)答案, res.setHeader作品。 但为什么res.location不?

你怎么发送HTML与restify

我想发送一个简单的html而不是一个JSON响应为我的路线之一restify。 我尝试设置响应的contentType和header属性,但似乎没有设置headerType中的contentType(浏览器试图下载文件而不是渲染它)。 res.contentType = 'text/html'; res.header('Content-Type','text/html'); return res.send('<html><body>hello</body></html>');

如何在nodejs服务器中设置HTTP Keep-Alive超时

实际上,我正在对ExpressJS服务器进行一些负载testing,我发现服务器发送的响应包含一个“Connection:Keep-Alive”头文件。 据我所知,连接将保持打开,直到服务器或客户端发送“连接:closures”标题。 在某些实现中,“Connection:Keep-Alive”头部带有一个“Keep-Alive”头文件,用于设置连接超时以及通过此连接发送的连续请求的最大数量。 例如:“Keep-Alive:timeout = 15,max = 100” 在快速服务器上设置这些参数有没有办法(而且是相关的)? 如果没有,你知道ExpressJS如何处理这个? 编辑:经过一番调查后,我发现在节点标准http库中设置了默认的超时时间: socket.setTimeout(2 * 60 * 1000); // 2 minute timeout 为了改变这一点: var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end("Hello World"); }).on('connection', function(socket) { socket.setTimeout(10000); }).listen(3000); 无论如何,它仍然看起来有点奇怪,服务器不发送任何提示的客户端有关其超时。 编辑2:感谢josh3736的评论。 setSocketKeepAlive与HTTP保持活动不相关。 这是一个TCP级别的选项,允许您检测到连接的另一端已经消失。

Chrome浏览器不会将if-modified-since标题发送到服务器

我有这些头由服务器发送到客户端: Cache-Control:private Connection:keep-alive Content-Encoding:gzip Content-Type:text/html Date:Sun, 27 Nov 2011 11:10:38 GMT ETag:"12341234" Set-Cookie:connect.sid=e1u…7o; path=/; expires=Sun, 27 Nov 2011 11:40:38 GMT; httpOnly Transfer-Encoding:chunked last-modified:Sat, 26 Nov 2011 21:42:45 GMT 我希望客户端validation服务器上的文件没有发生变化,如果是“304”,则发送“200”。 Firefox发送: if-modified-since: Sat, 26 Nov 2011 21:42:45 GMT if-none-match: "12341234" 为什么刷新的页面上的chrome不一样? 我在.Net运行的行为之后: context.Response.Cache.SetCacheability(HttpCacheability.ServerAndPrivate)