Node.js 提供了http模块分为高效的HTTP服务器和简易的HTTP客户端。
1)HTTP服务器
1.http.Server是http模块中的HTTP服务器对象。
2.使用http.createServer创建一个http.Server的实例。
3.http.Server的事件
3.1 request :当接受客户端请求,提供req和res俩个参数,分别是http.ServerRequest 和 http.ServerResponse的实例。
3.2 connnection: 当建立TCP连接时,触发事件。提供一个socket参数,是net.Socket的实例。
3.3 close:当服务器关闭时触发。
4. http.ServerRequest
4.1 data : 接受请求体数据时触发,事件提供一个chunk参数,表示接收到的数据。
4.2 end: 请求体数据传输完成时触发。
4.3 close: 当用户请求结束时触发。
5. http.ServerResponse
5.1 writeHead(statusCode, [headers]) : 向客服端发送响应头。
5.2 write(data, [encoding]):向客户端发送消息内容。
5.3 end([data], [encoding]) :结束响应,告知客户端所有响应完结。必须调用一次。
2)HTTP客户端
http模块提供了俩个函数http.request和http.get,向http服务器发送请求。
1 http.request(options, callback) 发起http请求。接受俩个参数options 和callback。
options = {
host : 网站的域名或IP地址
port: 请求网站的端口,默认80
method:请求方法,默认get
path:请求的相对于根的路径
headers: 请求头
}
2 http.get(options, callback) ,http.request的简化版,自动将请求方法设置成get,且不需要手动调用end方法。