1分钟洞察web服务器所有核心要素
前提:安装nodejs
https://nodejs.org/en/
node-server.js
下面的代码是node的语法,这个无需练习,体验下即可,它已经涉及到web前端工程师的范畴。后端工程师会启动环境进行测试即可。
任意目录下执行node-server.js:
var http = require('http');
var url = require('url');
var path = require('path');
//创建server
var server = http.createServer(function(req, res){
//获得请求路径
var pathname = url.parse(req.url).pathname;
res.writeHead(200, {'Content-Type':'application/json; charset=utf-8'});
if(pathname === '/'){
res.end(JSON.stringify({ "index":"欢迎" }));
}else if(pathname === '/health.json'){
res.end(JSON.stringify({ "status":"UP" }));
}else{
res.end("404");
}
});
//创建监听,并打印日志
server.listen(8060, function(){
console.log('listening on localhost:8060');
});
注意:开发的Node.js应用,必须去实现一个健康检查接口,将来可以轻松和SpringCloud微服务架构进行整合,来让Sidecar可以把这个服务实例的健康状况报告给Eureka。
收获
这里不需要你记住上面的代码,但大概的意思,包括关键的语句需要你心中有数,因为它虽然看着很简陋,可后面庞大的web程序的核心都在这个小案例中。
http协议,url网页链接,path网页路径;
createServer创建一个web server对象,传递两个重量级参数,req:request缩写,表示请求,res:response缩写,表示响应。这是http最核心的两个概念,以后我们写web程序成天需要和它打交道;
parse解析,从url路径中剥离出我们需要的路径;
req.writeHead请求头,我们浏览器除了写一个网页地址,还有很多附加内容,其中请求头有时也叫头信息,就是非常常用的;
Content-Type 网页请求类型,最常用的就是application/json;
中文乱码,必须设置charset=utf8字符集;
res.end 设置要返回的内容;
JSON.stringify 将js对象转化成字符串;
/ 网站根路径,欢迎页面;
其它不存在路径,返回404错误;
listen侦听;
8060服务端口;