一、nodejs写服务器
var http = require('http') //是nodejs的内置模块 - http(服务器)
即nodejs通过require加载一个模块(一个对象),服务器的底层是由这个nodejs的http模块实现用nodejs的内置模块创建一个server
http.createServer(function(req,res){
}) //内含一个回调函数在项目文件中创建一个有着基本设置的服务器
var http = require('http')
var server = http.createServer(function(req, res){
console.log(req) //用户请求所附带的信息
res.write('hello world') //返回浏览器自带的一些信息
res.end()
})
server.listen(9000) //用listen启动这个静态服务器-
终端启动:
$ ndoe inde.js
此时终端进入一个空白状态,即服务器处于一个启动状态,等待用户输入
-
浏览器输入服务器地址:localhost:9000
end,写了一个简单服务器
关于响应头
- 通过res.setHeader()设置响应头,如可添加:
res.setHeader("Content-Type","text/plain;charset=utf-8")
// text/plain 表示返回内容用字符串(明文)去呈现或这当成html渲染,如text/html
// charset=utf-8 表示返回的内容用utf-8解码
-
重启终端
二、实现功能更复杂的静态服务器(使用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以后,就可以在本地找到对应的文件