var http = require('http');
var server = new http.Server();//EventEmitter
server.listen(1337, '127.0.0.1');
server.on('request', function(req, res) {
...
res.end("..");
});
req - объект класса http.IncomingMessageres - объект класса http.ServerResponse
Можно заметить, что браузер обрабатывает два запроса по одному браузерному запросу, дело в том, что браузер еще обращается к favicon.ico.
У сервера есть три события:
listening - запускается только один раз при вызове метода слушать
conection - для одной вкладки вызывается один раз, последующие запросы не вызывают это событие по той причине, что браузер обычно запрашивает соединение Keep-Alive, что держит TCP-соединение открытым и все последующие обращения к серверу пользуются этим соединением
request - а вот это событие происходит каждый раз при оборащении к серверу
var url = require('url');
var urlParsed = url.parse(req.url, true);// true определяет что на выходе у обьекта поле query будет не строкой полученных гет-параметров, а обьектом пар ключ-значение.
Заголовкиreq.headers;
res.setHeader('Cache-Control', 'no-cahe, no-store, must-revalidate');
res.writeHeader(200, 'Ok', {'Cache-contol': 'no-cache'});// явный метод работы с заголовками, заголовок отсылается тут же не дожидаясь тела запроса
Модуль http состоит.
Class: http.Server inst = http.createServer(function(Class: http.IncomingMessage, Class: http.ServerResponse){});
http.createClient // устарел
http.request(Class: http.ClientRequest);
Комментариев нет:
Отправить комментарий