zoukankan      html  css  js  c++  java
  • Node.js 实现第一个应用以及HTTP模块和URL模块应用

    /*
     实现一个应用,同时还实现了整个 HTTP 服务器。
    * */
    
    //1.引入http模块
    var http=require('http');
    
    //2.用http模块创建服务
    
        /*
         req获取url信息   (request)
         res 浏览器返回响应信息 (response)
         * */
    http.createServer(function(req,res){
         // 发送 HTTP 头部
        // HTTP 状态值: 200 : OK
        //设置 HTTP 头部,状态码是 200,文件类型是 html,字符集是 utf-8
        res.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
        res.write("你好 nodejs");
        res.write('我是第一个nodejs程序');
        res.end(); /*结束响应*/
    
    
    }).listen(8001);

    到该文件夹下,cmd命令运行:

    node hello.js

    浏览器显示:


    HTTP 模块、URL 模块

    Node.js 中,将很多的功能,划分为了一个个 module(模块)。 Node.js 中的很多功能都是通过模块实现。

    HTTP 模块的使用

    如第一个代码块,

    req.url URL 地址。所有的路由设计,都是通过 req.url 来实现的。

    我们比较关心的不是拿到 URL,而是识别这个 URL。

    url.parse() 解析 URL
    url.format(urlObject) //是上面 url.parse() 操作的逆向操作
    url.resolve(from, to) 添加或者替换地址

    案例:

    var http=require('http');
    var url=require('url');
    //2.用http模块创建服务
    /*
     req获取url信息   (request)
     res 浏览器返回响应信息 (response)
     * */
    http.createServer(function(req,res){
    //输入http://localhost:8001/news?aid=123   拿到aid
    // 输入http://localhost:8001/news?aid=123&cid=3   拿到aid 和cid
    //req.url  获取浏览器url输入的信息
        res.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
        if(req.url!='/favicon.ico'){
            //http://localhost:8001/news?aid=123
            //console.log(req.url);  //返回  /news?aid=123
            var result=url.parse(req.url,true);  //第一个参数是地址    第二个参数是true的话表示把get传值转换成对象
            console.log('aid='+result.query.aid);  /*获取url的get传值*/
            console.log('cid='+result.query.cid);
        }
        res.write('你好 nodejs');
        res.end(); /*结束响应*/
    }).listen(8001);

    浏览器运行:

     

    控制台打印:

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    幂次法则power law
    异常值探测的相关理论及方法
    Dynamics CRM2013 1:N关系 sub-grid中的“添加现有项”和“添加新建项”功能详解
    Microsoft Office Excel cannot access the file, There are several possible reasons
    matlab学习日志之并行运算
    Live555 直播源 以及MediaSubsession
    ajax跨域简单请求与复杂请求
    javaScript遍历对象、数组总结
    PHP正则表达式
    语法环境 变量 数据类型 转换 销毁和传值
  • 原文地址:https://www.cnblogs.com/loaderman/p/11491254.html
Copyright © 2011-2022 走看看