node.js相较于那些老的服务器语言,他的优势在于,节省了I/O的时间,主要的特点是单线程,非阻塞和事件驱动,其实三个说的是同一个事情,相较于多线程而言,单线程的特点是,使用的那一条线程的cpu的利用率是百分之百,减少了I/O的时间,缺点是一旦其中一个事件出现问题,整个就蹦了,可以说node是在针尖上跳舞,这里简单说一下线程,每一个线程都有计算,I/O,计算这几个步骤,这里的计算基本上都是数据库来计算,多线程开发的时候每一条线程都会占用cup,单线程就是每个事件在排队,只有一个入口,多线程就是多个路口,node的作用之一就是配置路由,请求的路径可以和文件的名字是完全不一样的,例如:

//require表示引入包
var http = require("http");
var fs = require("fs");
//创建服务
var server = http.createServer(function(req,res){
//req表示请求,res表示响应
//请求头 状态码,文件类型,字符集
// res.writeHead(200,{"Content-type":"text/html;charset=UTF-8"});
// res.end("哈哈哈哈,这是我的第一个页面"+(1+2+3)+"s");
if(req.url=="/"){
fs.readFile("./test.html",function(err,data){
res.writeHead(200,{"Content-type":"text/html;charset=UTF-8"});
res.end(data);
})
}else if(req.url=="/liudong"){
fs.readFile("./test1.html",function(err,data){
res.writeHead(200,{"Content-type":"text/html;charset=UTF-8"});
res.end(data);
})
}else if(req.url=="/timg.gif"){//node是没有web容器的
fs.readFile("./timg.gif",function(err,data){
res.writeHead(200,{"Content-type":"image/gif;"});
res.end(data);
})
}else if(req.url=="/bbb.css"){//node是没有web容器的
fs.readFile("./test.css",function(err,data){
res.writeHead(200,{"Content-type":"text/css"});
res.end(data);
})
}else{
res.writeHead(200,{"Content-type":"text/html;charset=UTF-8"});
res.end("哈哈哈哈,没有这个页面哦");
} });
//运行服务器,监听端口号3000,端口号可以改
server.listen(3000,"127.0.0.1");

注意,node是没有web容器的,渲染图片和css等都是需要请求的后才会有的

一般8G的运行内存,可以支持800的用户,但是如果是node的话,可以接受8000,因为node是单线程

node.js初识02的更多相关文章

  1. node.js系列笔记之node.js初识《一》

    node.js系列笔记之node.js初识<一> 一:环境说明 1.1 Linux系统CentOS 5.8 1.2 nodejs v0.10.15 1.3 nodejs源码下载地址 htt ...

  2. Node.js 教程 02 - 经典的Hello World

    前言: Node.js的介绍.安装及配置,上一节都已经介绍过了,如果有不清楚的也可以留言或者直接问度娘. 本节: 本节主要以一个简单的例子简单体验一下Node.js,用到了两种方法.下面会介绍. 总之 ...

  3. Node.JS初识

    对Node.JS的认识 1.Node 是一个服务器端 JavaScript 解释器: 2.Node 的目标是帮助程序员构建高度可伸缩的应用程序,编写能够处理数万条同时连接到一个物理机的连接代码.处理高 ...

  4. .NET程序员也学Node.js——初识Node.js

    清明在石门休了八天假,一眨眼,4月又到中旬了...看到.NET在天朝彻底沦陷而又无能为力,我开始尝试去学习一些新的东西来充实自己,我自然是打死不会去学java的,没有为什么,于是乎,最近开始学习一些前 ...

  5. Node.js 初识2

    原文:https://www.cnblogs.com/zzuIvy/p/nodejs_1.html 测试:node.js部署网站 1.创建js2.js var http = require('http ...

  6. Node.js 初识1

    测试:让Node.js运行脚本 1.创建一个脚本 js1.js console.log('测试'); 2.cmd界面 运行脚本

  7. python 全栈开发,Day54(node.js初识)

    一.什么是Node.js 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.Node.js是一个事 ...

  8. node.js初识09

    1.node_module文件夹 如果你的require中没有写./,那么Node.js将该文件视为node_modules目录下的一个文件. 2.package.json文件 如果使用文件夹来统筹管 ...

  9. node.js初识05

    小项目,需求,通过url来查询学生学号和老师的编号 05.js var http = require("http"); var server = http.createServer ...

随机推荐

  1. [No0000BB]ReSharper操作指南4/16-配置ReSharper代码快修与导航

    代码问题的快速修复 ReSharper可以帮助您立即修复设计时检测到的大部分代码问题.就像按Alt+Enter突出显示的代码问题一样简单,并选择合适的方法来解决问题或改进次优代码. GIF 应用快速修 ...

  2. [No0000BE]控制台切换字符格式&Code Page Identifiers

    cmd chcp命令切换字符格式 命令介绍: chcp 65001 #换成utf-8代码页 chcp 936 #换成默认的gbk chcp 437 #美国英语 一般默认为gbk,若要修改成 utf-8 ...

  3. Spring <context:annotation-config> 与<context-component-scan> 的作用

    <context:annotation-config> 与<context-component-scan> 的作用 <context:annotation-config& ...

  4. 洛谷P2633 Count on a tree 主席树

    传送门:主席树 解题报告: 传送门! umm这题我还麻油开始做 所以 先瞎扯一波我的想法,如果错了我就当反面教材解释这种典型错误,对了我就不管了QwQ 就直接dfs,在dfs的过程中建树 然后就直接查 ...

  5. CentOS安装HBase

    1.下载HBASE http://www.apache.org/dyn/closer.cgi/hbase/ 2.解压文件到安装目录 #mkdir hbase #cd hbase #tar -zxvf ...

  6. 浅谈KMP算法

    一.介绍 烤馍片KMP算法是用来处理字符串匹配问题的.比如说给你两个字符串A,B,问B是不是A的子串? 比如,eg就是aeggx的子串 一般讲字符串A称为主串,用来匹配的B串称为模式串 定义n为字符串 ...

  7. Laravel编辑产品-CRUD之edit和update

    上一篇讲了Laravel展示产品-CRUD之show,现在我们说一下Laravel编辑产品,涉及到编辑和更新, 1,定义controller,update和create有点相似,我们复制一份过来修改. ...

  8. dedecms批量删除文档关键词可以吗

    这几天在重新整服务器,几个站点都是用dedecms搭建的,版本相对比较早,虽然都已经打了补丁,但客户还是在纠结,所以就下载了新的系统进行搭建(注意编码要和原来的一样),导入数据,一切安好,可发现后台有 ...

  9. 【剑指offer】部分思路整理

    题目 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去 ...

  10. javascript篇-知道value值,返回对象中的key值

    前提是,value值是唯一的,业务中有这样一个需求,代码如下: