node js(二)

2019-08-14  本文已影响0人  Sun晨淏

http模块

API

 http.createServer(callback(request, response)) || new http.Server()

功能: 使用createServer返回一个http.Server对象,这个对象就是一个服务器

callback参数 : 每次有请求时都会触发
request与response属于IncomingMessage 的梳理: 它可用于访问响应状态、消息头、以及数据

 on('data', callback(chunk))
on('end', callback(err))
request

request.headers
请求或响应的消息头对象
request.httpVersion
在服务器请求的情况下,表示客户端发送的 HTTP 版本。  在客户端响应的情况下,表示连接到的服务器的 HTTP 版本
request.method
请求方法为字符串
request.url
请求的 URL 字符串。  它仅包含实际 HTTP 请求中存在的 URL
response

response.write(chunk[, encoding][, callback])
第一次调用 response.write() 时,将缓冲的响应头信息和主体的第一个数据块发送给客户端
第二次调用 response.write() 时,Node.js 假定数据将被流式传输,并分别发送新数据
response.writeHead(statusCode[, statusMessage][, headers]) :向请求发送响应头
statusCode:状态码 404 200
headers:设置响应头对象
{Content-Type: 'text/plain'}
response.setHeader(name, value)
为隐式响应头设置单个响应头的值。  如果此响应头已存在于待发送的响应头中,则其值将被替换
response.setHeader('Set-Cookie', ['foo=bar', 'bar=baz']);
response.end([data][, encoding][, callback])
此方法向服务器发出信号,表明已发送所有响应头和主体,该服务器应该视为此消息已完成。  必须在每个响应上调用此 response.end() 方法
如果指定了 data,则相当于调用 response.write(data, encoding) 之后再调用 response.end(callback)

http.request(options,callback)

request.end() ; 结束请求
request.write(data); 请求的数据
request.on('error', callback(err)) ; 监听返回的错误

options参数
options
*   host: localhost,
*   port: 默认80,
*   path: 请求的路径
*   method: 默认GET
*   headers : 请求头的内容

Content-Type : application/x-www-form-urlencoded
application/json
callback(response)

*   responsed对象

*   res.setEncoding('utf-8') 设置编码个数
*   res.on('data', callback(chunk)) 接收数据
*   res.on('end', callback(err)) 响应结束
上一篇 下一篇

猜你喜欢

热点阅读