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。

Node.js_HTTP模块的更多相关文章

  1. 深入浅出node(2) 模块机制

    这部分主要总结深入浅出Node.js的第二章 一)CommonJs 1.1CommonJs模块定义 二)Node的模块实现 2.1模块分类 2.2 路径分析和文件定位 2.2.1 路径分析 2.2.2 ...

  2. Node.js模块

    每一个Node.js都是一个Node.js模块,包括JavaScript文件(.js).JSON文本文件(.json)和二进制模块文件(.node). mymodul.js function Hell ...

  3. 如何发布一个自定义Node.js模块到NPM(详细步骤)

    咱们闲话不多说,直接开始! 由于我从没有使用过MAC,所以我不保证本文中介绍的操作与MAC一致. 文章开始我先假定各位已经在window全局安装了Node.js,下面开始进行详细步骤介绍: 本文本着, ...

  4. 编写原生Node.js模块

    导语:当Javascript的性能需要优化,或者需要增强Javascript能力的时候,就需要依赖native模块来实现了. 应用场景 日常工作中,我们经常需要将原生的Node.js模块做为依赖并在项 ...

  5. 编写原生的Node.js模块

    导语:当Javascript的性能遭遇瓶颈,或者需要增强Javascript能力的时候,就需要依赖native模块来实现了. 应用场景 日常工作中,我们经常需要将原生的Node.js模块做为依赖并在项 ...

  6. Node.js 模块

    稳定性: 5 - 锁定 Node 有简单的模块加载系统.在 Node 里,文件和模块是一一对应的.下面例子里,foo.js 加载同一个文件夹里的 circle.js 模块. foo.js 内容: va ...

  7. node基础—模块系统

    模块的概念 为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块加载系统. 在 Node.js 中,文件和模块是一一对应的(每个文件被视为一个独立的模块),换言之,一个 Node ...

  8. node常用模块---path

    path---用来提供文件路径和文件之间的处理的函数 node常用模块之path

  9. node 各模块及对应功能

    node 各模块及对应功能 node 模块 对应功能 net 处理 TCP dgram 处理 UDP http 处理 HTTP/1 http2 处理 HTTP/2 https 处理 HTTPS tls ...

随机推荐

  1. 一个jsp页面引入另一个jsp页面的三种方式 及静态引入和动态引入的区别

    转载下, 转载自:http://blog.csdn.net/fn_2015/article/details/70311495 1.第一种:jstl  import <c:import url=& ...

  2. [note]克鲁斯卡尔重构树

    克鲁斯卡尔重构树 又叫并查集重构树 大概在NOI2018之前还是黑科技 现在?烂大街了 主要是针对图上的对边有限制的一类问题 比如每次询问一个点u不能经过边权大于w的边能走到的第k大点权是多少 也就是 ...

  3. Django的models方法返回值异常,待解决

    class BookInfo(models.Model): #创建书本信息类,继承models.Model booktitle=models.CharField(max_length=20) book ...

  4. python并发编程&IO模型

    一 IO模型介绍 为了更好地了解IO模型,可先回顾下:同步.异步.阻塞.非阻塞 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(n ...

  5. php 使用sendmail发送邮件

    php 使用sendmail发送邮件 1.配置php.ini SMTP=smtp.163.com sendmail_from = 17760273453@163.com sendmail_path = ...

  6. 转载:http://blog.csdn.net/foruok/article/details/53500801

    凭兴趣求职80%会失败,为什么 标签: 求职跳槽找工作兴趣技术 2016-12-07 06:51 43316人阅读 评论(69) 收藏 举报 本文章已收录于:   分类: 随笔(144) 作者同类文章 ...

  7. 006-MySQL中使用SHOW PROFILE命令分析性能

    一.概述 1.版本支持 Show profiles是5.0.37之后添加的,要想使用此功能,要确保版本在5.0.37之后. 查看数据库版本: Select version(); 2.查看开启关闭和默认 ...

  8. opencv3计算机视觉+Python(一)

    基本I/O脚本 读/写图像文件 OpenCV的imread函数和imwrite函数能支持各种静态图像文件格式.不同系统支持的文件格式不一样,但都支持BMP格式,通常还应该支持PNG.JPEG和TIFF ...

  9. Matlab mser(最大极值稳定区域)

    在Matlab R2013a 和R2014a中已经实现MSER特征的提取. 一.函数detectMSERFeatures 输入的是M*N的灰度图片.可以指定阈值刻度,区域范围,感兴趣区域等参数. 输出 ...

  10. Java基础—反射(转载)

    转载自: JAVA反射与注解 JAVA反射 主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义. 反射机制是什么 反射 ...