Tag: http 1.1

Nodejs HTTP / 1.1pipe道支持

我几乎是nodejs的新手。 我正在研究一个小的nodejs微服务,并且运行良好。 但是根据最近的要求,这个服务需要支持HTTP / 1.1pipe道。 但我没有find在nodejs文档,如何启用/支持。 请指导我find合适的doc / module / resource来实现HTTP / 1.1pipe道。 谢谢。

使用带有http分块传输的报头。 如何使用它设置cookie

使用预告片我想在页面stream式传输开始后设置一个cookie。 下面的代码尝试设置cookie。 它似乎返回正确的响应,但没有在浏览器中设置cookie(ff和chrome)。 var express = require('express'), http = require('http'), app = express(), server; app.use(app.router); app.all('*', function(req, res) { res.setHeader('Trailer', 'Set-Cookie'); res.setHeader('Content-Type', 'text/plain'); res.write("hi this is ogkla"); res.addTrailers({'Set-Cookie': "val=ogkla"}); res.end(); }); server = http.createServer(app).listen(80); module.exports = server; 响应 curl -iv –raw 'http://localhost/' * Adding handle: conn: 0x7fd87180aa89 * Adding handle: send: 0 * Adding handle: […]

Nodejs给我下载,而不是HTML响应

这是我的代码: var express = require('express'), app = express.createServer(express.logger()); app.use(express.bodyParser()); app.get('/', function(request, response) { var name = request.param('name', null); response.header('Content-Type', 'text/event-stream'); var t = setInterval(function(){ response.write('Hello World by '+name+' (using http-1.1 streaming data!)<br />'); }, 2000); /*request.socket.on('close', function() { clearInterval(t); }); */ }); var port = process.env.PORT || 5000; app.listen(port, function() { //clearInterval(t); console.log("Listening on " […]

节点Js与response.write的问题

当我尝试利用httpstream连接出于某种原因,直到我调用response.end()才写入, 我直接从演示代码,不明白我的问题是什么。 当我curl到服务器我的头是正确的。 HTTP/1.1 200 OK Content-Type: text/plain Connection: keep-alive Transfer-Encoding: chunked var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.write('hello'); res.write(':'); setTimeout(function(){ res.end('World\n')}, 2000); }).listen(1337, "127.0.0.1"); console.log('Server running at http://127.0.0.1:1337/'); 为什么服务器不发送写入数据?

使用Node.JS服务HTTP / 1.0响应(未知内容长度,分块传输编码)

问题 我正在通过Node.JS提供未知长度的资源。 因此,不能设置Content-Length标题。 对于HTTP 1.1,要求分块编码用于这种性质的资源。 Node.JS知道这一点,并发送我自己的数据块大小的传输编码,与以下头: HTTP/1.1 200 OK Transfer-Encoding: chunked Connection: close … 对于乖巧的客户来说,这一切都很好。 不过,我有一些不太好的客户(即Android 2.2及更早版本),我必须支持。 这些客户端不支持正确的分块传输编码。 修复尝试#1 我最初的想法是将编码设置为none : response.writeHead(200, {'Transfer-Encoding': 'none'}); 这将禁用Node.JS的自动分块编码并保持与大多数客户端的兼容性。 不过,现在我已经打破了Android 2.3+客户端,因为他们只是看到这样一个伪造的传输编docker咳嗽和呛。 修复尝试#2(我需要帮助) 当我用HTTP/1.0发出请求时,服务器正确地返回没有分块编码的响应: HTTP/1.1 200 OK Connection: close … 这解决了我的问题,使我能够为我所有的麻烦客户服务。 我不必为Transfer-Encoding发送伪造标题,而且我也不必指定内容的长度。 如何强制Node.JS的HTTP服务器始终以HTTP / 1.0模式运行?