HTTP模块
1.创建服务器
1.导入http模块 => node 内置的模块 网络模块
- 创建一个http服务器对象
request 请求对象 包含请求的信息(请求参数、请求头、请求方法等)
response 响应对象 包含响应的信息(响应头、响应内容等) - 监听端口
// 导入http模块 => node 内置的模块 网络模块
const http = require('http');
// 创建一个http服务器对象
// request 请求对象 包含请求的信息(请求参数、请求头、请求方法等)
// response 响应对象 包含响应的信息(响应头、响应内容等)
const app = http.createServer((request, response) => {
console.log('hello http');
response.end('hello http');
});
// 监听端口
app.listen(3000, () => {
console.log('server is running at port 3000');
});
2.监听主机和端口号
listen函数有三个参数:
1.端口port: 可以不传, 系统会默认分配端口(通过server.address().port), 后续项目中我们会写入到环境变量中
2.主机host: 通常可以传入localhost、ip地址127.0.0.1、或者ip地址0.0.0.0,默认是0.0.0.0;
localhost:本质上是一个域名,通常情况下会被解析成127.0.0.1;
127.0.0.1:回环地址(Loop Back Address),表达的意思其实是我们主机自己发出去的包,直接被自己接收; ✓ 正常的数据库 包经常 应用层 - 传输层 - 网络层 - 数据链路层 - 物理层 ; ✓ 而回环地址,是在网络层直接就被获取到了,是不会经常数据链路层和物理层的; ✓ 比如我们监听 127.0.0.1时,在同一个网段下的主机中,通过ip地址是不能访问的;
0.0.0.0: ✓ 监听IPV4上所有的地址,再根据端口找到不同的应用程序; ✓ 比如我们监听 0.0.0.0时,在同一个网段下的主机中,通过ip地址是可以访问的;
3.回调函数:服务器启动成功时的回调函数;
const http = require('http');
const app = http.createServer((request, response) => {
response.end('hello');
});
// 参数一:监听的端口号(可以省略,随机生成0-65535,app.address().port获取)
// app.listen(() => {
// console.log(app.address().port);
// console.log('服务器开启成功');
// });
// 参数二:主机地址(可以省略,默认为0.0.0.0)
// localhost = 127.0.0.1
// 0.0.0.0 监听本机IPV4地址 localhost 127.0.0.1 ip 都可以访问到
app.listen(3000, '0.0.0.0', () => {
console.log('服务器开启成功');
});
// 参数三:回调函数
app.listen(3000, '0.0.0.0', () => {
console.log('服务器开启成功');
});
3.request对象
1.request对象
const http = require('http');
// API 测试工具 传统 PostMan apipost postfox
const app = http.createServer((request, response) => {
// 请求路径
console.log(request.url);
// 请求方式
console.log</