Node.js Up and Runing 学习日记(一)
认识一个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服务器,它都将调用我们指定的函数方法来处理,称之为回调.
因为每当一个事件发生时,我们将回调监听此事件的所有函数.
回调函数有两个参数:
请求的对象(req)
响应的对象(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
Node.js Up and Runing 学习日记(一)的更多相关文章
- 【特别推荐】Node.js 入门教程和学习资源汇总
这篇文章与大家分享一批很有用的 Node.js 入门教程和学习资源.Node 是一个服务器端的 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用 ...
- Node.js 入门教程和学习资源汇总
这篇文章与大家分享一批很有用的 Node.js 入门教程和学习资源.Node 是一个服务器端的 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用 ...
- Node.js环境搭建和学习(windwos环境)
Node.js环境搭建和学习 一.环境搭建 1.下载安装文件 下载地址http://nodejs-org.qiniudn.com/下载Node.js环境安装包,根据操作系统下载对应的安装包 下载地址 ...
- 《Node.js核心技术教程》学习笔记
<Node.js核心技术教程>TOC \o "1-3" \h \z \u 1.章模块化编程 2019.2.19 13:30' PAGEREF _101 \h 1 08D ...
- Node.js amqplib 连接 Rabbitmq 学习笔记
var amqp = require('amqplib'); connect([url, [socketOptions]]) var amqp = require('amqplib/callback_ ...
- Node.js+Express框架+Mongo学习(一)第一个node.js实例
1.在桌面新建一个空的文件夹,比如叫node,当然也可以在其它地方新建. 2.命令行进入到所新建的文件夹的目录,下载Express框架,再在这个文件夹里新建一个叫final的项目 3.在项目(fina ...
- Node.js学习系列总索引
Node.js学习系列也积累了一些了,建个总索引方便相互交流学习,后面会持续更新^_^! 尽量写些和实战相关的,不讲太多大道理... Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- ...
- 【入门必备】最佳的 Node.js 学习教程和资料书籍
Web 开发人员对 Node.js 的关注日益增多,更多的公司和开发者开始尝试使用 Node.js 来实现一些对实时性要求高,I/O密集型的业务.这篇文章中,我们整理了一批优秀的资源,你可以得到所有你 ...
- 系列文章--Node.js学习笔记系列
Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- 简介及安装Node.js开发环境 Nodejs学习笔记(二)--- 事件模块 Nodejs学习笔记(三)--- 模块 Nodejs学 ...
随机推荐
- 【数据结构与算法】一致性Hash算法及Java实践
追求极致才能突破极限 一.案例背景 1.1 系统简介 首先看一下系统架构,方便解释: 页面给用户展示的功能就是,可以查看任何一台机器的某些属性(以下简称系统信息). 消息流程是,页面发起请求查看指定机 ...
- 搭建es6开发与非开发环境babel-browser
前言 最近打算把es6应用到项目中,但是如何在开发环境(浏览器端)直接运行es6?es6已经发布一段时间了,现在大部分是在node.js环境运行,或者通过babel编译之后运行.babel-brows ...
- C/C++中的volatile究竟是什么鬼?
将变量或对象声明为volatile类型后,每次对变量的访问都是从其内存直接读取.那什么时候对变量的访问不是从其内存读取的呢?一种常见的情况就是编译器开启了优化选项,这时候对变量的访问有可能就是从寄存器 ...
- (转载)VB6之鼠标移出事件
转载链接:http://www.ltesting.net/ceshi/ruanjianceshikaifajishu/rjcskfyy/vb/2007/0525/3426.html Windows提供 ...
- 003.ASP.NET Core tutorials--【Asp.net core 教程】
ASP.NET Core tutorials Asp.net core 教程 2016-10-14 1 分钟阅读时长 本文内容 1.Building web applications 构建web应用 ...
- ASP.NET Core之跨平台的实时性能监控
前言 前面我们聊了一下一个应用程序 应该监控的8个关键位置. . 嗯..地址如下: 应用程序的8个关键性能指标以及测量方法 最后卖了个小关子,是关于如何监控ASP.NET Core的. 今天我们就来讲 ...
- FPGA实现“打字机”(VGA & UART)
看到标题中的"打字机"三个字,你是不是脑补了下面这幅图像.这是二战电影中常出现的道具,现在恐怕都见不到了. ●电影道具"打字机" 我要实现的当然不是这个样子,只 ...
- git创建版本库以及使用
Git使用教程(摘自tugenhua0707) 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央 ...
- 玩玩微信公众号Java版之一:配置微信公众平台服务器信息
在进行微信公众平台开发前,前先做好准备工作,好了以后,我们可以开始啦! 第一.准备好服务端接口 定义一个http服务接口,主要分为如下几步: 1.创建一个servlet类,用来接收请求: ...
- Java面向对象之抽象类,接口
抽象类: 含有抽象方法的类被声明为抽象类 抽象方法由子类去实现 含有抽象方法的类必须被声明为抽象类 抽象类被子类继承,子类(如果不是抽象类)必须重写抽象类中的所有抽象方法 抽象方法: 声明而未被实现的 ...