zoukankan      html  css  js  c++  java
  • node学习记录——搭建web服务器

    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(666)
    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(666 , 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(3000,function(){
        console.log("express is running")
        //监听成功得回掉方法
    })

     这样就定制好了路由了

  • 相关阅读:
    黄聪:robots.txt一分钟教程
    黄聪:C#获取系统中的所有字体
    黄聪:C#下如何实现服务器+客户端的聊天程序
    黄聪:C#截取DOS命令输出流取得网卡MAC地址
    黄聪:选择适当的关键词
    黄聪:C#的Main(String[] args)参数输入问题
    黄聪:C#正则表达式整理备忘
    黄聪:【强烈推荐】搜索引擎排名决定一切吗!
    黄聪:第2章 并发操作的一致性问题 (2)
    黄聪:VS2008 "LIB 环境变量" 无效解决方案
  • 原文地址:https://www.cnblogs.com/sowhite/p/6399753.html
Copyright © 2011-2022 走看看