我正在搜索服务器端编码的示例,我尝试了Node和Express。在我尝试下面显示的每个example.js
之后,我遇到了它们之间的字体差异。好的,我知道express.js
是Node.js
的框架,但我无法找到原因或基础技术(或排版的主要原因/特征)
这是Node.js示例;
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
,这是Express.js版本处理相同的工作;
var express = require('express')
var app = express()
app.get('/', function (req, res) {
res.send('Hello World!')
})
app.listen(3000, function () {
console.log('Example app listening on port 3000!')
})
我很想知道究竟是什么导致这种情况产生不同输出的原因。另外,对方服务器端语言是否在浏览器上提供不同的输出? 0.o
点击查看以下输出
答案 0 :(得分:6)
这里是Express.js版本处理相同的工作
嗯,不,不完全。您的"普通节点"示例显式地将内容类型设置为" text / plain",但是您不会对Express示例执行相同操作,在这种情况下,它将默认为" text / html&#34 ;
如果服务器告诉浏览器响应包含HTML,浏览器将应用默认的CSS样式表,通常包括正文字体(类似Times New Roman)。
使用" text / plain"时,大多数浏览器都会以等宽字体呈现内容。