美文网首页
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.js的安装与使用

    node的安装 node安装:去官网:http://nodejs.cn/download/[http://node...

  • Node - http

    一、创建http 服务 Node.js 可以创立简单的 http 服务,引入 http 模块即可。新建 index...

  • node -- http

    1.request 端口号: 所谓的端口,就好像是门牌号一样,客户端可以通过ip地址找到对应的服务器端,但是服务器...

  • hexo+next详细搭建

    安装node node下载地址:http://nodejs.cn/download/[http://nodejs....

  • Node

    Node 检测Node是否安装成功 Node文件 自己搭建HTTP服务 创建http服务 监听端口 读取文件

  • Vue 开发环境

    一、node.js 安装 下载node下载地址:http://nodejs.cn/download/[http:/...

  • Node.js HTTP模块

    内置HTTP模块 Node.js 中有 HTTP 这个内置模块,HTTP 模块允许 Node.js 通过超文本传输...

  • 创建vue项目

    安装node官网:http://nodejs.cn/[http://nodejs.cn/]查看版本号:node -...

  • node-http-proxy有什么用?

    node-http-proxy is an HTTP programmable proxying library ...

  • node入门http

    自己的了解领域是node有http 和 app 两个模块首先 http端http模块:负责web服务器相关任务的模...

网友评论

      本文标题:node -- http

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