http 服务
简单的 http 服务
-
http.createServer([options][, requestlistener])
创建一个 http 服务- requestListener 是一个自动添加到
request
事件的函数。
- requestListener 是一个自动添加到
-
res.writeHead(statusCode[, statusMessage][, headers])
向请求发送响应头。- statusCode 三位数的 HTTP 状态码(200、404 …);headers 响应头。
-
res.write(chunk[, encoding][, callback])
发送一块响应主体,可以多次调用该方法以提供连续的响应主体片段。- chunk 可以是字符串或 buffer。
-
res.statusCode
设置状态码。例如:res.statusCode = 200
-
res.setHeader(naem,value)
为隐式响应头设置单个响应头的值,如果此响应头已存在于待发送的响应头中,则其值将被替换。 在这里可以使用字符串数组来发送具有相同名称的多个响应头。 -
res.end([data][, encoding][, callback])
向服务器发出信号,已发送所有响应头和响应体;整个响应已完成,结束响应。- data 响应数据(二进制数据流或字符串),如果指定了 data ,则相当于调用
response.write()
之后再调用response.end()。
- data 响应数据(二进制数据流或字符串),如果指定了 data ,则相当于调用
-
server.listen([port[, host[, backlog]]][, callback])
启动一个服务器用来监听连接; 可以是 TCP 或 IPC 服务器,具体取决于它监听的内容,当前参数用于 TCP 服务器。- port 监听的端口,如果省略或是0,系统会随意分配一个空闲端口;host 主机名;backlog 指定待连接队列的最大长度。
-
req.socket.remoteAddress
获取请求服务器的客户端的 IP 地址,如果 socket 被销毁了(如客户端已经失去连接)则其值为 undefined。 -
req.socket.remotePort
获取请求服务器的客户端的端口号。// 引入 http 模块 var http = require('http'); // 创建一个 http 服务对象 var server = http.createServer(); // 监听用户的请求事件,对用户的请求做出一些响应,req 代表请求,res 代表响应 server.on('request',function (req,res) { // 设置响应头,告诉浏览器以何种方式解析数据,charset=UTF-8 是对字符的编码,当数据为非字符时(例如:图片)就不需要指定编码 res.writeHead(200,{"Content-Type":"text/html;charset=UTF-8"}); // 响应内容 res.write('<h1>响应内容!</h1>'); // 获取请求服务器的客户端的 IP 地址,如果 socket 被销毁了(如客户端已经失去连接)则其值为 undefined。 console.log('请求我的服务的客户地址为:',req.socket.remoteAddress); // 输出请求服务器的客户端的端口号 console.log('请求我的服务的客户端口号为:',req.socket.remotePort); // 结束响应,对于每一个请求,服务端必须结束响应,否则客户端会一直等待服务端的响应结束 res.end('请求结束!'); // end() 中的内容必须是字符串,否则会报错 }); // 启动服务,监听端口 server.listen(3000,function () { console.log('服务器已启动,访问地址:http://127.0.0.1:3000'); });