node.js初识02
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的更多相关文章
- node.js系列笔记之node.js初识《一》
node.js系列笔记之node.js初识<一> 一:环境说明 1.1 Linux系统CentOS 5.8 1.2 nodejs v0.10.15 1.3 nodejs源码下载地址 htt ...
- Node.js 教程 02 - 经典的Hello World
前言: Node.js的介绍.安装及配置,上一节都已经介绍过了,如果有不清楚的也可以留言或者直接问度娘. 本节: 本节主要以一个简单的例子简单体验一下Node.js,用到了两种方法.下面会介绍. 总之 ...
- Node.JS初识
对Node.JS的认识 1.Node 是一个服务器端 JavaScript 解释器: 2.Node 的目标是帮助程序员构建高度可伸缩的应用程序,编写能够处理数万条同时连接到一个物理机的连接代码.处理高 ...
- .NET程序员也学Node.js——初识Node.js
清明在石门休了八天假,一眨眼,4月又到中旬了...看到.NET在天朝彻底沦陷而又无能为力,我开始尝试去学习一些新的东西来充实自己,我自然是打死不会去学java的,没有为什么,于是乎,最近开始学习一些前 ...
- Node.js 初识2
原文:https://www.cnblogs.com/zzuIvy/p/nodejs_1.html 测试:node.js部署网站 1.创建js2.js var http = require('http ...
- Node.js 初识1
测试:让Node.js运行脚本 1.创建一个脚本 js1.js console.log('测试'); 2.cmd界面 运行脚本
- python 全栈开发,Day54(node.js初识)
一.什么是Node.js 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.Node.js是一个事 ...
- node.js初识09
1.node_module文件夹 如果你的require中没有写./,那么Node.js将该文件视为node_modules目录下的一个文件. 2.package.json文件 如果使用文件夹来统筹管 ...
- node.js初识05
小项目,需求,通过url来查询学生学号和老师的编号 05.js var http = require("http"); var server = http.createServer ...
随机推荐
- Codeforces 835C - Star sky - [二维前缀和]
题目链接:http://codeforces.com/problemset/problem/835/C 题意: 在天空上划定一个直角坐标系,有 $n$ 颗星星,每颗星星都有坐标 $(x_i,y_i)$ ...
- [No0000C3]StarUML2 全平台破解方法
首先,找到安装目录下的"LicenseManagerDomain.js"文件,路径"StarUML\www\license\node\LicenseManagerDoma ...
- [No0000A5]批处理常用命令大全&&21个DOS常用命令
1.Echo 命令打开回显或关闭请求回显功能,或显示消息.如果没有任何参数,echo 命令将显示当前回显设置.语法echo [{on|off}] [message]Sample: echo off e ...
- winform进度条
参考资料: http://www.cnblogs.com/zzy0471/archive/2010/12/12/1903602.html http://www.cnblogs.com/haogj/ar ...
- java之旅_高级教程_java泛型
摘自:http://www.runoob.com/java/java-generics.html JAVA泛型 java泛型(generics)是JDK5中引入的新特性,泛型提供了编译时类型安全检测机 ...
- java ipv4校验正则字符串
String IPV4_REGEX = "\\A(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)) ...
- mysql拼接sql的语法concat()用法
之前写了oracle拼接sql是用“||”,那么mysql也有自己的拼接的语法concat() concat()的基本语法是如下: 括号内的拼接内容语法和python中拼接显示字符串和变量.常量时一样 ...
- vue项目中 如何让外部引入的js模块 的this值 指向vue实例
当前是vue项目,想在tool.js(工具模块)中封装一个跳转页面的方法, goToUrl(name,query){ if(query){ if(query.addressCode){ vueObje ...
- CF720A Closing ceremony 贪心
正解:贪心 解题报告: 传送门! 先考虑如果只有一列怎么搞?那就肯定是尽量走到最远的地方 然后用点儿类似的思想,现在考虑有两列的情况QAQ 为了方便表述,这里给每个位置两个值,a表示离一号入口的距离, ...
- 基于sendmail的简单zabbix邮件报警
1.修改zabbix server hostname声明:在配置zabbix的Email报警之前,需要将sendmail使用的域名进行相应的修改,系统默认为localhost.localdomain, ...