http服务器
- 简单的请求。不管任何请求都是相同的响应结果。 ```javascript const http = require(‘http’); var server = http.createServer();
//监听端口号 server.listen(3000, (params) => { console.log(‘服务器启动’); });
//对客户端的请求,响应处理 server.on(‘request’, (request, response) => { //获取客户端的url,默认是根目录 console.log(request.url); //output: /
//给客户端发送响应数据
response.write('chen');
response.write('qian');
//告诉客户端响应数据结束,可以给用户展示数据。
response.end();
});
- 对不同的请求资源路径,响应不同的结果。
```javascript
const http = require('http');
var server = http.createServer();
//监听端口号
server.listen(3000, (params) => {
console.log('服务器启动');
});
//对客户端的请求,响应处理
server.on('request', (request, response) => {
const url = request.url;
if (url === '/') {
response.end('/');
} else if (url === '/index') {
response.end('/index');
} else if (url === '/ha') {
//响应的数据必须是字符串。
const a = {
name: 'chen'
};
response.end(JSON.stringify(a));
} else {
response.end('404')
}
});
- 配置响应头字段、得到请求的端口号。 ```javascript const http = require(‘http’); var server = http.createServer();
//监听端口号 server.listen(3000, (params) => { console.log(‘服务器启动’); });
//对客户端的请求,响应处理
server.on(‘request’, (request, response) => {
//获取请求端口
const port = request.socket.remotePort;
//配置响应头
response.setHeader(‘Content-Type’, ‘text/plain; charset=utf-8’);
});
- 配置响应的资源类型
```javascript
//对客户端的请求,响应处理
server.on('request', (request, response) => {
//text/plain浏览器按照普通文本解析
response.setHeader('Content-Type', 'text/plain; charset=utf-8')
response.end('<h1>陈前</h1>')
//text/html浏览器按照html解析
response.setHeader('Content-Type', 'text/html; charset=utf-8')
response.end('<h1>陈前</h1>')
});
- 读取文件中的数据作为响应。 ```javascript const http = require(‘http’); const fs = require(‘fs’); var server = http.createServer();
//监听端口号 server.listen(3000, (params) => { console.log(‘服务器启动’); });
//对客户端的请求,响应处理 server.on(‘request’, (request, response) => { fs.readFile(‘index.md’, (err, data) => { response.end(data); }) });
- html模板渲染
```javascript
const http = require('http');
const fs = require('fs');
const template = require('art-template');
const server = http.createServer();
server.listen('3000', () => {
console.log('服务器启动')
});
server.on('request', (req, res) => {
fs.readFile('./index.html', (err, data) => {
if (err) {
res.end('404');
} else {
const render = template.render(data.toString(), {
add: 'chen'
});
res.setHeader('Content-Type', 'text/html; charset=utf-8');
res.end(render);
}
})
})
服务端渲染
本质上就是在后端使用模板渲染。
- 服务端渲染有利于SEO
- 客户端渲染速度更快
连接数据库系统服务器
```javascript //首要条件:本地服务器必须启动。 var mysql = require(‘mysql’); var connection = mysql.createConnection({ host : ‘localhost’, user : ‘root’, password : ‘293244’, database : ‘myemployees’ });
connection.connect();
connection.query(‘SELECT * FROM departments
‘, function (error, results, fields) {
if (error) throw error;
console.log(‘The solution is: ‘, results);
});
connection.end(); ```