美文网首页
nodeJS 搭建简单的本地服务器

nodeJS 搭建简单的本地服务器

作者: Wendy__Smile | 来源:发表于2020-08-25 08:52 被阅读0次

    使用 nodeJS 搭建一个简单的本地 HTTP 服务器。

    HTTP 服务器的原理:

    HTTP 协议定义 web 客户端如何从 web 服务器请求 web 页面,以及服务器如何把 web 页面传送给客户端。HTTP 协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。

    以下是HTTP请求/响应的步骤:
    • 客户端连接到 Web 服务器
      一个 HTTP 客户端(通常是浏览器),与 Web 服务器的 HTTP 端口(默认为80)建立一个TCP套接字连接。
    • 发送 HTTP 请求
      通过 TCP 套接字,客户端向 Web 服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据 4 部分组成。
    • 服务器接受请求并返回 HTTP 响应
      Web 服务器解析请求,定位请求资源。服务器将资源复本写到 TCP 套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据4部分组成。
    • 释放连接TCP连接
      Web服务器主动关闭 TCP 套接字,释放 TCP 连接;客户端被动关闭 TCP 套接字,释放 TCP 连接。
    • 客户端浏览器解析 HTML 内容
      客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若干字节的 HTML 文档和文档的字符集。客户端浏览器读取响应数据 HTML,根据 HTML 的语法对其进行格式化,并在浏览器窗口中显示。
    使用node去实现一个简单的http服务器很容易

    1.监听浏览器端口(http模块)
    2.获取请求的url(服务器端文件处理获取指定文件 fs文件模块)
    3.返回数据

    let http = require('http')
    let fs = require('fs')
    let root = "F:/node-demo/html/index.html"
    
    let server = http.createServer((req, res) => {
      let url = req.url;
      let file = root + url;
      fs.readFile(file, (err, data) => {
        if (err) {
          res.writeHeader(404, {
            "content-type": "text/html;charset='utf-8'"
          });
          res.write('<h1>404 错误</h1><h2>页面不存在</h2>');
          res.end();
        } else {
          res.writeHeader(200, {
            "content-type": "text/html;charset='utf-8'"
          })
          res.write(data)
          res.end()
        }
      })
    }).listen(8080)
    console.log('---------服务器已开启--------')
    
    在项目下运行:

    node server.js

    浏览器中输入localhost:8080,一个简单 http 服务器就实现了

    相关文章

      网友评论

          本文标题:nodeJS 搭建简单的本地服务器

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