手写一个后端服务器

一、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以后,就可以在本地找到对应的文件
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容