1. 创建web服务器
// 引入系统模块
const http = require('http');
// 创建web服务器
const app = http.createServer();
// 但客户端发送请求的时候
app.on('request',(req,res) => {
// 响应
res.end('<h1>hi respose</h1>')
});
// 监听3000端口
app.listen(8023);
console.log('服务器已启动,监听8023端口,请访问 localhost:8023');
![](https://img.haomeiwen.com/i4151054/ebecd6c1179bda9e.png)
2. HTTP 协议
2.1 基本概念
超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)规定了如何从网站服务器传输超文本到本地浏览器,它基于客户端服务器架构工作,是客户端(用户)和服务器端(网站)请求和应答的标准。
![](https://img.haomeiwen.com/i4151054/be3d6c1c40f08101.png)
2.2 报文
在HTTP请求和响应的过程中传递的数据块就叫报文,包括要传送的数据和一些附加信息,并且要遵守规定好的格式。
![](https://img.haomeiwen.com/i4151054/86c67627e6917e06.png)
2.3 请求报文
- 请求方式 (Request Method)
- GET 请求数据
- POST 发送数据
- 请求地址 (Request URL)
app.on('request', (req, res) => {
req.headers // 获取请求报文
req.url // 获取请求地址
req.method // 获取请求方法
});
2.4 响应报文
- HTTP状态码
- 200 请求成功
- 404 请求的资源没有被找到
- 500 服务器端错误
- 400 客户端请求有语法错误
- 内容类型
- text/html
- text/css
- application/javascript
- image/jpeg
- application/json
app.on('request', (req, res) => {
// 设置响应报文
res.writeHead(200, {
'Content-Type': 'text/html;charset=utf8‘
});
});
网友评论