首页 热点资讯 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

nodejs07-搭建静态web服务器

2024-12-18 来源:华拓网

http创建的应用

http.js
var http = require('http');

/**
 * http.createServer()创建http服务器
*/

http.createServer(function(req,res){
  /**
   * req = request 获取浏览器参数
   * res = response 返回数据
  */
  res.writeHead(200, {"Content-Type": "text/html;charset=UTF-8"});
  res.write('写啊写啊写bug<br>');
  res.end('Hello World')
}).listen('8080')

console.log('server is running')

什么是web服务器

一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档。可以放置网站文件,让全世界浏览,也可以放置数据文件,让全世界下载,web服务器分为Apache、Nginx、IIS,web服务器工作原理:连接过程、请求过程、应答过程以及关闭连接。

创建node服务器

http.js
var http = require('http');
var fs = require('fs')
var path = require('path')
var url = require('url')
var Config = require('./model/getSuffixName')
/**
 * http.createServer()创建http服务器
*/
console.log(path.extname('index.html')) // 输出.html
http.createServer(function(req,res){
  /**
   * req = request 获取浏览器参数
   * res = response 返回数据
  */

  /**
   * 过滤掉?之后的数据
   * 例:  -----> 
   */
  var urlName = url.parse(req.url).pathname

  if (urlName == '/favicon.ico') return

  if (urlName == '/') {
    urlName = 'index.html'
  }
  var suffixName = Config.getSuffixName(path.extname(urlName))

  fs.readFile(`static/${urlName}`, (err, data)=>{
    if (err) {
      fs.readFile('static/404.html', (error, result)=>{
        if (error) return
        res.writeHead(200, {"Content-Type": `${suffixName};charset=UTF-8`});
        res.write(result)
        res.end()
      })
    } else {
      res.writeHead(200, {"Content-Type": `${suffixName};charset=UTF-8`});
      res.write(data)
      res.end()
    }
  
  })

}).listen('8080')

console.log('server is running')
model/getSuffixName.js
function getSuffixName (url) {
  switch (url) {
    case '.html':
      return 'text/html';
    case '.css':
      return 'text/css';
    case '.js':
      return 'text/js';
    default:
      return 'text/html';

  }
}

exports.getSuffixName = getSuffixName
显示全文