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. AutoIt自动化编程(3)【转】

    模拟鼠标点击(按钮等)控件 既然是模拟用户操作,自然就包括了模拟鼠标点击在内. 适用命令/函数:Click/MouseClick/ControlClick 其中Click/MouseClick用来模拟 ...

  2. Vim操作 -- 多段复位粘贴

    Vim可以多段复制.粘贴.即,内容X复制到寄存器“1”,内容Y复制到寄存器“2”:粘贴时可以选择从“1”还是“2”粘贴. (1) Vim有13个粘贴板,分别是0.1.2.....9.a.“.+:用:r ...

  3. differential related impedance and termination

    Impedance (1) Z0 Z0 is the impedance of one T-line while other lines are held at 0. Single end. (2) ...

  4. Spring Cache 简介

    org.springframework.cache; org.springframework.cache.Cache org.springframework.cache.CacheManager 依赖 ...

  5. String相加解析

    Java代码 package com.utils.test; public class TestObject { public static void main(String[] args) { St ...

  6. Datagrip2019本地激活

    一.下载:  https://www.jetbrains.com/zh/datagrip/     下载2019版本的(当前2019.1.2版本) 二.使用方法 1. 先下载压缩包解压后得到jetbr ...

  7. Ionic3 demo TallyBook 实例2

    1.添加插件 2.相关页面 消费页面: <ion-header> <ion-navbar> <ion-title> 消费记录 </ion-title> ...

  8. win10系统,vbox下安装centos6/7,挂载实现目录共享

    用下载好的iso文件,新建虚拟机(所有步骤默认下一步即可). 我用的centos版本:CentOS-7-x86_64-Minimal-1908.iso ISO下载地址 设置虚拟机(指定好镜像后,先不要 ...

  9. [POI2014]KAR-Cards

    题目链接: 传送门 题目分析: 线段树妙题,感觉思路奇奇怪怪的,虽然对我来说不是"线段树菜题"(\(ldx\)神仙\(blog\)原话)\(QAQ\) 考虑怎么样维护可合并的信息解 ...

  10. Android基础控件TextView

    1.常用属性 <TextView android:id="@+id/text11" //组件id android:layout_width="match_paren ...