美文网首页
前四节 复习

前四节 复习

作者: 向上而活 | 来源:发表于2019-08-22 22:18 被阅读0次

Node. js开发服务器,数据、路由。本地关心的效果,交互;
Node js实际上是极客开发出的一个小玩具,不是银弹,有着别人不具备的怪异特点:
单线程、Non- blocking IO、 Event Driven,实际上是一个特点。
首先,Node不为每个用户开辞一个线程,所以非常极端的选择了单线程。
单线程,要照顾所有的用户,那么必须有非阻塞IO,否则一个人的IO就把别人、自己都阻塞了
一旦有非阻IO,一个人如果IO去了,就会放弃CPU的使用权,换成另一个人使用CPU(或者执行此人后面的语句)所以CPU的利用100%。
第一个人IO结束了,就要用事件来通知线程,执行回调函数。此时必须有事件环,就有一个排队调度机制。
Node中有超过半数的C++代码,在搭建事件环。

Node is和别的老牌3P不一样:
没有自己的语法,使用V8引所以就是JS。
V8引摹解析JS的,效率非常高,并且V8中很多东西都是异步的。Node就是将V8中的一些功能自己没有重写(别人做了,自己就站在巨人肩膀上),移植到了服务器上。
没有web容器,就是安装配置完成之后,没有一个根目录。

系统中默认http端口为80端口。

//读取不同类型的文件(img、html、css、js........)
var http=require("http");
var fs=require("fs");
var url=require("url");
var path=require("path");

var server=http.createServer(function(req,res){
    //这里如果不用req.url来if判断,那么用户不管输入什么网址,做的事情都一样
    //得到地址
    var pathname=url.parse(req.url).pathname;
    //判读此时用户输入的地址是文件夹地址还是文件地址
    //如果是文件夹地址,那么自动请求这个文件夹中的index.html
    if(pathname.indexOf('.')==-1){
        pathname+="/index.html";
    }
    //输入的网址是127.0.0.1/images/logo.png
    //实际请求的是./static/images/logo.png
    var fileurl="./"+path.normalize("./static/"+pathname);
    //得到拓展名
    var extname=path.extname();
    //把文件读出来
    fs.feadFile(fileurl,function(err,data){
        //读完之后做的事情
        if(err){
            //文件不存在
            res.writeHead(200,{"Content-Type":"text/html;charset=UTF8"})
            res.end("404,页面没有找到");
        }
        //读完之后做的事情
        getMime(extname,function(mime){
            res.writeHead(200,{"Conment-Type":mime})
            res.end(data);
        });
    });
});
server.listen(80,"127.0.0.1");
function getMime(extname,callback){
    //读取mime.json 得到JSON,根据extname key,返回对应的value
    //读取文件
    fs.readFile("./mime.json",function(err,data){
        if(err){
            throw Error("找不到mime.json文件");
            return;
        }
        //转成JSON
        var mimeJSON=JSON.parse(data);
        var mime=mimeJSON[extname]||"text/plain";
        
        callback(mime);
    })
}

相关文章

  • 前四节 复习

    Node. js开发服务器,数据、路由。本地关心的效果,交互;Node js实际上是极客开发出的一个小玩具,不是银...

  • 复习前

    室友还在追剧的追剧,说笑的说笑,感觉怎么笑得出来一般,但是欢乐总归是要有的,不能太大压力,可是,即便是有压力,依旧...

  • 【文魁大脑实用记忆第六期】创派张懿--第五次案例韵味歌诀法

    1、复习背诵《鲁郡东门送杜二甫》 2、记二十四节气。 3、绘图法记《沈园二首》 4、复习并默写《长恨歌》前十句。 ...

  • 7月29日记录

    1.复习七上第一章知识点并加以整理成电子版(后期还需改正) 2.复习七上第二章前四节课时至有理数的加法(只复习课本...

  • 读书变现训练营(14)

    今天,重新回顾前四节课程,发现了一些自己以前学习的遗漏的地方,还有一些记忆不深刻的地方。明天继续将复习剩余的课程。...

  • 登机前小复习

    临时被叫去出差,但我依然要坚持学习

  • 期末前的复习

    2018年1月25 星期四 天气 阴 现在孩子们进入总复习阶段,小考也比较多,这样比较锻炼孩子们对综...

  • 考试前的复习

    哎!明天又要考试了,还好这次是语文考试,如果是数学考试的话,我又要考的一塌糊涂。 在考试前,我们同学都是...

  • 考试前的复习

    明天就到了孩子的期末考试了,最后的一个自我复习的周末该如何度过呢? 这个因人而异吧,当年我考试前死死的拿着那些考试...

  • 复习前的唠叨

    亲爱的孩子们:你们好! 本学期的英语书本学习已经进入复习状态。对于英语的复习重点在于单词,短语,知识点,课文的背诵...

网友评论

      本文标题:前四节 复习

      本文链接:https://www.haomeiwen.com/subject/hfoosctx.html