nodejs - 创建服务器(1)
在此之前,确保你已经安装了Node(并且你很会折腾) - 有人说,Java脚本和Java最本质的区别就是一个超会更新,一个死守旧。
如果你没有安装,请去官网下载并且安装:http://nodejs.cn/download/
先来说说node的优点以及缺点
粗略的来说node的优点即在于它是单线程、运行环境要求低,缺点同样明显的就是它一旦出现问题,全部瘫痪。
而php和java是多线程运行的,互不影响,但占资源高。
看一个小例子(菜鸟教程里面的)
- var http = require('http');
- http.createServer(function(request, response) {
- // 发送 HTTP 头部
- // HTTP 状态值: 200 : OK
- // 内容类型: text/plain
- response.writeHead(200, { 'Content-Type': 'text/plain' });
- // 发送响应数据 "Hello World"
- response.end('Hello World\n');
- }).listen(8888);
- // 终端打印如下信息
- console.log('Server running at http://127.0.0.1:8888/');
- // 请求http包
- var http = require('http');
- // 创建一个http线程
- http.createServer(function(request, response) {
- // 发送 HTTP 头部
- // HTTP 状态值: 200 : OK
- // 内容类型: text/plain
- response.writeHead(200, { 'Content-Type': 'text/plain' });
- // 发送响应数据 "Hello World"
- response.end('Hello World\n');
- }).listen(8888);
- // 终端打印如下信息
- console.log('Server running at http://127.0.0.1:8888/');
很好,可以运行
默认本地:127.0.0.1
端口自设:8088
我们看看官网API(http自带server)
且每一段代码都会带上res.end() , 这是因为我们要告诉服务器已经完成了.
再来看看这一段代码
- var http = require('http');
- var fs = require('fs');
- var server = http.createServer(function(req, res) {
- // 请求路由 ==是指字符串比较
- if (req.url == "/index") {
- fs.readFile('index.html', function(err, data) {
- res.writeHead(200, { "Content-type": "text/html;charset=utf-8" });
- res.end(data);
- });
- } else {
- fs.readFile('404.html', function(err, data) {
- res.writeHead(200, { "Content-type": "text/html;charset=utf-8" });
- res.end(data);
- });
- }
- });
- server.listen(80, '127.0.0.1');
- // 导入http
- var http = require('http');
- // 导入fs(文件读取服务)
- var fs = require('fs');
- var server = http.createServer(function(req, res) {
- // 其实nodejs最难的一点就是管理路由 - 它和其它web服务器不一样(因此灵活性超强)
- // 请求路由 ==是指字符串比较
- if (req.url == "/index") {
- // 请求地址index,读取文件index.html
- fs.readFile('index.html', function(err, data) {
- res.writeHead(200, { "Content-type": "text/html;charset=utf-8" });
- res.end(data);
- });
- } else {
- // 请求地址不存在,读取文件404.html,并且返回
- fs.readFile('404.html', function(err, data) {
- // 请求头 - 根据类型不同而不同
- res.writeHead(200, { "Content-type": "text/html;charset=utf-8" });
- res.end(data);
- });
- }
- });
- // 监听80端口,并且是本地地址
- server.listen(80, '127.0.0.1');
通过 localhost/index 就可以访问到
index.html了。
通过localhost/other 就可以访问到
其它页面了。
你试一试链接本地图片或者css以及其它资源,感受一下node路由的强大!
nodejs - 创建服务器(1)的更多相关文章
- Express与NodeJs创建服务器的两种方法
NodeJs创建Web服务器 var http = require('http'); var server = http.createServer(function(req, res) { res.w ...
- 用nodejs创建服务器显示html页面
nodejs版本:v10.14.2 1.首先准备一个简单的html页面 <!DOCTYPE html> <html lang="en"> <head& ...
- nodejs创建服务器
'use strict'; //加载http模块: const http = require('http'); //创建一个http服务: const server = http.createSe ...
- nodejs创建http服务器
之前有简单介绍nodejs的一篇文章(http://www.cnblogs.com/fangsmile/p/6226044.html) HTTP服务器 Node内建有一个模块,利用它可以很容易创建基本 ...
- NodeJs 创建 Web 服务器
以下是演示一个最基本的 HTTP 服务器架构(使用8081端口),创建 ser.js 文件,代码如下所示: var http = require('http'); var fs = require(' ...
- Nodejs创建https服务器(Windows 7)
为了实验一下WebRTC,搭了个简单的https服务器.说说步骤: 生成OpenSSL证书 使用Nodejs的https模块建立服务器 OpenSSL 证书 我机子Windows 7,安装了Cygwi ...
- Nodejs创建HTTPS服务器
Nodejs创建HTTPS服务器 从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发.Nodejs框架是基于V8的引擎,是目前速度最快的Jav ...
- Nodejs学习笔记(3) 创建服务器:Web 模块(http)与 express 框架
目录 参考资料 1. 使用 http 模块创建服务器 1.1 实现思路及代码 1.2 HTTP 结构 1.2.1 Request中的重要字段 1.2.2 Response 头信息:文件类型.状态码.连 ...
- NodeJs创建一个简单的服务器
步骤: 1 //模块化引入 2 let http = require ("http"); 3 4 //创建服务器 5 http.createServer(function(requ ...
随机推荐
- IO Streams:来源于命令行的IO
简介 程序经常从命令行运行并与在命令行环境中的用户交互.Java平台支持这种互动的方式有两种:通过标准流,通过控制台 标准流 标准流是许多操作系统的一项功能.默认情况下,他们从键盘输入读取和输出到显示 ...
- 查看apache和nginx的负载和连接数情况
1.查看apache当前并发访问数:netstat -an | grep ESTABLISHED | wc -l对比httpd.conf中MaxClients的数字差距多少. 2.查看有多少个进程数: ...
- Android EditText默认不弹出输入法,以及获取光标,修改输入法Enter键的方法
一.Android EditText默认不弹出输入法的办法:1. 在AndroidManifest.xml中将需要默认隐藏键盘的Activity中添加属性即可(常用此方法) android:windo ...
- try 与catch的作用
首先要清楚,如果没有try的话,出现异常会导致程序崩溃.而try则可以保证程序的正常运行下去,比如说: try{ int i = 1/0; }catch(Exception e){ e.printSt ...
- 个人环境搭建——版本控制SVN
版本控制SVN SVN服务器配置: 第一部分:svn服务器搭建(主要是四步走) 参考:http://www.son1c.cn/show/920.html 一,安装Subversion sudo apt ...
- 百度地图API 根据地址查询经纬度
html页面.引用上API: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> ...
- java递归处理文件夹和文件
import java.io.File; /** * 文件综合使用示例 */ public class FileDelete { public static void main(String[] ar ...
- 上传图片获取base64位编码
function loadImg(){ //获取文件 ].files[]; //创建读取文件的对象 var reader = new FileReader(); //创建文件读取相关的变量 var i ...
- 前端--CSS之使用display:inline-block来布局(转)
CSS之使用display:inline-block来布局 css之display:inline-block布局 1.解释一下display的几个常用的属性值,inline , block, in ...
- Linux服务器之SSH
SSH 1.ssh是安全的加密协议,用于远程连接linux服务器. 2.ssh默认端口是22,安全协议版本ssh2. 3.ssh服务端主要包含两个服务功能ssh远程连接,sftp服务. 4.linux ...