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学 ...
随机推荐
- dos命令窗口修改编码,CMD编码修改方法
dos命令窗口修改编码,CMD编码修改方法 第一步,打开命令窗口有两种方法第一种:可以点击左下角的开始按钮,在运行里面输入CMD,然后敲回车2第二种:组合键WIN+R键,组合键后就会弹出窗口,然后输入 ...
- php倒计时防刷新
<?php //php的时间是以秒算.js的时间以毫秒算 date_default_timezone_set("Asia/Hong_Kong");//地区 //配置每天的活动 ...
- app 选项卡代码
<div id="segmented" class="mui-segmented-control"> <a class="mui-c ...
- Openfire插件开发图解
概述 Openfire插件开发是Openfire的精髓之一,支持插件热插拔,还可以方便的在web端进行管理插件.插件分为两种,一种是以服务为主的控制台插件,一种是包括页面或对外开放Servlet接口. ...
- LR监控Windows Server 2008 R2系统资源提示“指定的网络名不可用。”
问题现象: LR监控远程服务器Window Server 2008 R2 系统资源,提示“Monitor name :Windows Resources. Cannot connect to mach ...
- Git恢复指定文件
Git恢复指定文件 修改这个文件的commit有哪些? git log -- <文件路径> 猜测需要还原的commit. 这个文件作了哪些更改? git diff <需要还原的com ...
- VB6之SOAP
根据网上搜来的资料,MS有个组件可以用来支撑VB6访问SOAP接口. 于是下载了个msSoapToolkit.exe安装后试了下,发现确实可以访问用C#或者VB.net写的webservice. 但是 ...
- Java 容器在实际项目开发中应用
前言:在java开发中我们离不开集合数组等,在java中有个专有名词:"容器" ,下面会结合Thinking in Java的知识和实际开发中业务场景讲述一下容器在Web项目中的用 ...
- Java 容器在实际项目中的应用
前言:在java开发中我们离不开集合数组等,在java中有个专有名词:"容器" ,下面会结合Thinking in Java的知识和实际开发中业务场景讲述一下容器在Web项目中的用 ...
- JavaWeb 后端 <十二> 之 过滤器 filter 乱码、不缓存、脏话、标记、自动登录、全站压缩过滤器
一.过滤器是什么?有什么? 1.过滤器属于Servlet规范,从2.3版本就开始有了. 2.过滤器就是对访问的内容进行筛选(拦截).利用过滤器对请求和响应进行过滤