认识一个Node.js程序

HTTP模块是专为快速非阻塞式HTTP服务器而用C重新编写的.

1. var http = require('http');
2. http.createServer(function(req, res){
3. res.writeHead(200,{'Content-Type':'text/html'});
4. res.end('hello world!');
5. }).listen('8230','127.0.0.1');
6. console.log('server running in 127.0.0.1/8230');

流程说明

  • 首先通过require()方法把HTTP库包含到程序中来

    当前需要了解到的是,HTTP库所既有的功能已经赋给了http对象

  • 下一步创建HTTP服务器

  • 或者创建一个HTTP实例来调用HTTP模块的一个工厂模式方法(createServer)来创建新的HTTP服务器

    新的HTTP服务器并没有赋值给任何变量,它只会成为存活在全局范围内的匿名对象

  • 我们可以通过链式调用来初始化服务器,并告诉它监听8124端口.

  • 当调用createServer的时候,传入一个匿名函数作为参数

    绑定在新创建服务器的事件监听器上进行request事件处理

    消息事件是javascript和Node的核心

在这个例子中,每当一个新的访问请求到达Web服务器,它都将调用我们指定的函数方法来处理,称之为回调.

因为每当一个事件发生时,我们将回调监听此事件的所有函数.

  • 回调函数有两个参数:

    1. 请求的对象(req)

    2. 响应的对象(res)

      通常会需要同时使用请求和响应对象.

  • res.writeHead()来设置HTTP响应头,否则就不能返回真实内容给客户端

    其中状态码:200表示OK.

  • 并且传入一段HTTP头描述,这里只指定Content-Type.一般有两种类型:

    text/plain 表示一般文本;

    text/html 表示HTML文本

  • 在本例中 end() 来同时完成写入正文以及关闭连接

    end方法会关闭HTTP连接,但因为我们传入一个字符串,所以会在发送此内容后才关闭连接

  • 最后一行调用console.log()标准输出stdout流上打印信息.

运行

node hello.js

然后在浏览器打开 <127.0.0.1/8230>.


Date : 2017/08/05 20:30

最新文章

  1. BOM基础部分
  2. javascript 特效实现(1)——展开选项和收起效果
  3. .net程序集强命名(签名)
  4. HDU 2222:Keywords Search(AC自动机模板)
  5. iOS 框架收集
  6. 深入浅出Spring(五) SpringMVC
  7. mysql的学习记录
  8. redis sentinel 配置
  9. log4net.dll配置以及在项目中应用 zt
  10. servlet单例多线程
  11. 十一、oracle 数据库管理员
  12. volatile的理解和使用
  13. python 小程序—循环和列表训练
  14. 掌上快递 APP 项目之概述篇
  15. 【Linux命令】用户及分用户组
  16. go-关于指针和地址
  17. 解决VS Code开发Python3语言自动补全功能不带括号的问题
  18. 【转】学习Robot Framework必须掌握的库—-BuiltIn库
  19. 教你一招:更新/替换系统 hosts,轻松访问国外站点
  20. 2018-02-16 GetSameTypeQuestion

热门文章

  1. Latex加速: TexStudio的安装和使用
  2. MySQL慢查询日志
  3. Linux配置LNMP环境(二)配置PHP
  4. vsftpd3.0之匿名用户配置
  5. 为何你跟着滴滴D8级前端大神撸代码,技术却依旧原地踏步?
  6. SSO(单点登录)与旅游年卡
  7. HashTable的故事----Jdk源码解读
  8. cocos2dx 图片压缩工具 推荐
  9. 使用Linux环境变量
  10. 谈一款MOBA游戏《码神联盟》的服务端架构设计与实现