web服务器的基本知识

  功能:1.接收HTTP请求(get,post,delete,put)2.处理HTTP请求

  常见的web服务器架构:

  1. Nginx/Apache:负责接收http请求,确定谁来处理请求,并返回请求的结果

  2. php-fpm/php模块

  常见得到请求

  1.请求文件:包括要处理的静态文件

  2.完成特定的操作,如登录,获取特定数据等等

使用http创建web服务器

//引入nodejs的核心模块http
var http = require('http') ;
//创建一个http实例
var reqHandler = function(req,res){
res.end("我全部接受完了") //用来表示已经对响应内容全部接收
}
var web = http.createServer(reqHandler());
web.listen()
console.log("http runnibg on http://localhost:666")

  运行方法在命令行中 输入node httptest.js即可

使用express创建web服务器

//引入模块
var express = require("express") ; var app = express() ; //通过路由控制响应;
app.get('/',function(req,res){
res.end("mingming love dama")
})
app.listen( , function(){
console.log('express is running')
}) ;

  效果同上

静态文件

app.use(express.static('./public'))

  以./public作为静态文件仓库的起始位置。

路由

将不同的请求分配给响应的处理函数

三种路由的方法 :1) path方法  2)Router方式  3)route

1. path方法

app.get('/test',function(req,res){
res.send("id: "+req.query.id+"  password: "+req.query.password);
})

  当我们请求http://localhost:3000/test?id=120&password=11001时会

  

  这就是path方法设置路由。

2. Router方法 

var express = require("express") ;

var app = express();
app.use(express.static('./public'))
//引入路由
var router = express.Router() ;
router.use(function log(){
console.log('Time: ', Date.now());
})
//调用路由
router.get('/',function(req,res){
res.send('Birds home page');
})
router.get('/about',function(req,res){
res.send('Birds about page')
})
router.get('/test',function(req,res){
res.send('Birds test page')
}) app.use('/bird',router)
app.listen(,function(){
console.log("express is running")
//监听成功得回掉方法
})

这样就定制好了路由了

node学习记录——搭建web服务器的更多相关文章

  1. 使用 Node.js 搭建 Web 服务器

    使用Node.js搭建Web服务器是学习Node.js比较全面的入门教程,因为实现Web服务器需要用到几个比较重要的模块:http模块.文件系统.url解析模块.路径解析模块.以及301重定向技术等, ...

  2. 记录一些服务端术语和搭建web服务器

    菜单快捷导航 服务端常用术语 搭建web服务器和配置虚拟主机 记录一些服务端方面的常用术语 1.CS架构和BS架构 1.1 CS架构 CS(Client/Server),基于安装包类型的桌面或手机软件 ...

  3. Python搭建Web服务器,与Ajax交互,接收处理Get和Post请求的简易结构

    用python搭建web服务器,与ajax交互,接收处理Get和Post请求:简单实用,没有用框架,适用于简单需求,更多功能可进行扩展. python有自带模块BaseHTTPServer.CGIHT ...

  4. Android手机用KSWEB搭建Web服务器成功安装WordPress

    之前部落分享的几个免费Web服务器软件都是用来安装在本地电脑上,搭建Apache.PhpMyAdmin.MySQL等网站运行环境,然后我们就可以在电脑上测试运行Wordpress.Discuz! 论坛 ...

  5. Node学习HTTP模块(HTTP 服务器与客户端)

    Node学习HTTP模块(HTTP 服务器与客户端) Node.js 标准库提供了 http 模块,其中封装了一个高效的 HTTP 服务器和一个简易的HTTP 客户端.http.Server 是一个基 ...

  6. 在Win7系统中搭建Web服务器

    局 域网Web服务器的主要功能是实现资源共享,同时借助于局域网服务器访问页面可有效的实现信息的同步.利用Web服务器,我们随时随地都可以将自己的信息 上传到服务器端,让其它关注你的用户能在第一时间内了 ...

  7. 轻松使用Nginx搭建web服务器

    如果读者以前做过web开发的话,就应该知道如何去搭建一个web服务器来跑你的web站点,在windows下你可能会选择去用IIS,十分的快捷,在linux下,你可能首先会想到apache,“一哥”( ...

  8. 用tomcat搭建web服务器

    链接地址:http://www.blogjava.net/qingshow/archive/2010/01/17/309846.html qingshow “不积跬步无以至千里,不积小流无以成江海”. ...

  9. NodeMCU入门(4):搭建Web服务器,配置网络连接

    准备工作 1.NodeMCU模块 2.ESPlorer v0.2.0-rc6 3.NodeMCU-HTTP-Server 搭建web服务器 下载https://github.com/wangzexi/ ...

随机推荐

  1. Python全栈开发:模块

    模块,用一砣代码实现了某个功能的代码集合. 参考资源:http://www.cnblogs.com/alex3714/articles/5161349.html 类似于函数式编程和面向过程编程,函数式 ...

  2. mysql主从跳过错误

    mysql主从复制,经常会遇到错误而导致slave端复制中断,这个时候一般就需要人工干预,跳过错误才能继续 跳过错误有两种方式: 1.跳过指定数量的事务 mysql>stop slave;  m ...

  3. 数据结构学习笔记_树(二叉搜索树,B-树,B+树,B*树)

    一.查找二叉树(二叉搜索树BST) 1.查找二叉树的性质 1).所有非叶子结点至多拥有两个儿子(Left和Right): 2).所有结点存储一个关键字: 3).非叶子结点的左指针指向小于其关键字的子树 ...

  4. 威胁预警|首现新型RDPMiner挖矿蠕虫 受害主机易被添加恶意账户

    近日,阿里云安全发现一种新型挖矿蠕虫RDPMiner,通过爆破Windows Server 3389端口RDP服务的方式进行挖矿木马传播,致使用户CPU占用率暴涨,机器卡顿,更被创建名为Default ...

  5. pytorch基础2

    下面是常见函数的代码例子 import torch import numpy as np print("分割线---------------------------------------- ...

  6. python 编程 一次错误记录 -1073740791

    原因是发生在我错把类当做实例化对象使用了

  7. System.Web.Mvc.FileContentResult.cs

    ylbtech-System.Web.Mvc.FileContentResult.cs 1.程序集 System.Web.Mvc, Version=5.2.3.0, Culture=neutral, ...

  8. js (function(){}()),(function(){})(),$(function(){});之间的区别

    参考:https://blog.csdn.net/stpice/article/details/80586444 (function(){}()), (function(){})() 均为立即执行函数 ...

  9. Js中获取时间 new date()的用法

    Js中获取时间 new date()的用法 获取时间: var myDate = new Date();//获取系统当前时间 myDate.getYear(); //获取当前年份(2位) myDate ...

  10. 2018-12-17-VisualStudio-使用新项目格式快速打出-Nuget-包

    title author date CreateTime categories VisualStudio 使用新项目格式快速打出 Nuget 包 lindexi 2018-12-17 14:11:50 ...