Node.js_HTTP模块

HTTP服务器与客户端

http是node提供的模块,其中封装了一个高效的HTTP服务器和一个简易的HTTP客户端。http.server是一个基于事件的HTTP服务器,http.request则是一个HTTP客户端工具,用于向HTTP服务器发送请求。

HTTP服务器

http.server是http模块中的HTTP服务器对象。

	var http = require('http');
	
	http.createServer(function(req, res){
		res.writeHead(200, {'Content-Type': 'text/html'});//响应代码和响应头
		res.write('<h1>hello node </h1>');//响应体
		res.end('<p>hello yehui </p>');//结束并发送
	}).listen(3000);//启动服务器并监听3000端口
  • http.server事件
    继承自EventEmitter,提供了request等事。

      var http = require('http');
      
      var server = new http.Server();
      server.on('request', function(req, res){
      	res.writeHeader(200, {'Content-Type': 'text/html'});//响应代码和响应头
      	res.write('<h1>hello node </h1>');//响应体
      	res.end('<p>hello yehui </p>');//结束并发送
      });
      server.listen(3000);//启动服务器并监听3000端口
    
  • http.ServerRequest
    http.ServerRequest是HTTP请求的信息,是后端开发者最关注的内容。他一般由http.Server的request事件发送,作为第一个参数传递。
    http.ServerRequest提供了3 个事件用于控制请求体的传输:

  • data:表示接收到的数据;

  • end::结束请求体

  • close:结束请求。

  • 获取GET请求内容

  • 获取POST请求内容

  • http.ServerResponse
    http.ServerResponse是返回给客户端的信息,决定用户最终看到的结果。他也是request是件发送的,作为第二个参数传递,一般简称res。他有三个重要的成员函数:

  • .writeHead(状态码, ):想请求的客户端发送响应头;

  • .write(data, 编码形式):发送相应内容,data表示要发送的内容,在.end()之前。可以多次调用;

  • .end(data, encoding):结束响应。

HTTP客户端

http模块提供了两个客户端函数:request和get。

posted @ 2017-04-15 22:17  美美王子  阅读(185)  评论(0编辑  收藏  举报