美文网首页
node -- http

node -- http

作者: 我家有个王胖胖 | 来源:发表于2022-05-12 13:12 被阅读0次

    1.request

    //1.引入http模块
    const http = require('http');
    //2.调用方法,创建服务对象
    const server = http.createServer(function(request,response){
        //1.获取请求类型
    //     console.log(request.method);//GET
    //     //2.获取请求路径
    //     console.log(request.url);///?username=admin&password=123456
    //     //3.http版本协议
    //     console.log(request.httpVersion);//1.1
    //     //4.header
    //     console.log(request.header);
    //     //5.get请求获取url中的路径部分
    //     console.log(url.parse(request.url));
    //     response.end('Http server on');
    <------------------------->
    //post请求获取请求体
        //   let body = "";
        // request.on('data', chuck => {
        //     body += chuck.toString();
        // })
        // requset.on('end', () => {
        //     console.log(qs.parse(body));
        // })
        // response.end('body received');
        // }
    
    response.end('Http server on');
    })
    //3.监听端口,启动服务
    /**
    *端口号:计算机的服务窗口   总共65536端口
    *默认端口 80
    **/
    server.listen(8000,function(){
        console.log('服务已启动,监听8000端口中...');
    })
    

    端口号:

    所谓的端口,就好像是门牌号一样,客户端可以通过ip地址找到对应的服务器端,但是服务器端是有很多端口的,每个应用程序对应一个端口号,通过类似门牌号的端口号,客户端才能真正的访问到该服务器

    2.response

    const http = require('http');
    
    http.createServer((request, response) => {
        //设置响应状态码
        response.statusCode = 200;
        //设置响应状态字符串
        response.statusMessage = 'okk';
        //设置响应头
        response.setHeader('Content-type', 'text/html;charset=utf-8');
        //自定义响应头
        response.setHeader('abc', '1000');
        //响应体不能为空
        response.write(111);
        response.write(222);
        response.write(333);
        response.end('response content');
    }).listen(80);
    

    实践:

    const http = require("http");
    const fs = require("fs");
    const url = require("url");
    
    const server = http.createServer((request,response)=>{
     //请求方式 get/post/put...
        let {method} = request;
        //获取路径  url.parse(url,true(query参数--object)),第二个参数默认fasle
        let pathname = url.parse(request.url,true).pathname;
        console.log(pathname);
        //通过不同的路径响应资源
        if(pathname == "/index.html"){
            let data = fs.readFileSync(__dirname + '/index.html');
            response.end(data);
        }else if(pathname == '/index.css'){
            let data = fs.readFileSync(__dirname + '/css/index.css');
            response.end(data);
        }else if(pathname == '/index.js'){
            let data = fs.readFileSync(__dirname + '/js/index.js');
            response.end(data);
        }
    });
    server.listen(80,()=>{
        console.log("server running on 127.0.0.1");
    });
    

    相关文章

      网友评论

          本文标题:node -- http

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