手写一个后端服务器

一、nodejs写服务器

  1. var http = require('http') //是nodejs的内置模块 - http(服务器)
    即nodejs通过require加载一个模块(一个对象),服务器的底层是由这个nodejs的http模块实现

  2. 用nodejs的内置模块创建一个server
    http.createServer(function(req,res){
    }) //内含一个回调函数

  3. 在项目文件中创建一个有着基本设置的服务器
    var http = require('http')
    var server = http.createServer(function(req, res){
    console.log(req) //用户请求所附带的信息
    res.write('hello world') //返回浏览器自带的一些信息
    res.end()
    })
    server.listen(9000) //用listen启动这个静态服务器

  4. 终端启动:
    $ ndoe inde.js
    此时终端进入一个空白状态,即服务器处于一个启动状态,等待用户输入


  5. 浏览器输入服务器地址:localhost:9000


end,写了一个简单服务器

关于响应头

  1. 通过res.setHeader()设置响应头,如可添加:

res.setHeader("Content-Type","text/plain;charset=utf-8")

// text/plain 表示返回内容用字符串(明文)去呈现或这当成html渲染,如text/html
// charset=utf-8 表示返回的内容用utf-8解码

例:文件代码为:
  1. 重启终端


二、实现功能更复杂的静态服务器(使用nodejs服务器路由解析)

在nodejs里面通过require加载一些需要用到的模块

var http = require('http') // http模块创建服务器
var path = require('path') // path模块根据系统内部自动识别url类型
var fs = require('fs') // fs模块用于读写文件
var url = require('url') // url模块自动解析用户的url得到一些有用信息

静态服务器的原理:

  • 当用户访问一个地址为localhost:8080/text.html 需要让用户看到我们的文件;
  • 我们可以通过函数request得到这个url;
  • 得到url以后,就可以在本地找到对应的文件

你可能感兴趣的:(手写一个后端服务器)