一.path
(1)path.join
说明:这个api是用来拼接路径
使用:
导入:
const path=require('path')
pathStr=path.join('/a','/b/c','../',''./d')
注意:../会抵消掉一层路径
所以最终的结果是:
console.log(pathStr)
(2)path.basename
说明:拿到文件名
代码:
const path=require('path')
//会抵消掉一层路径
const fpath='./duqu.txt'
const fullname=path.basename(fpath,'.txt')
console.log(fullname);
第二个参数如果加了文件名的后缀, 则读取的只有文件名。
结果:
二.http
大家应该知道,获取资源的电脑叫做客户端,输送资源的电脑被叫做服务器。
(1)ip
每一台电脑都有一个ip地址,就像每个人都有身份证一样。
如,可以通过14.215.177.39这个ip地址访问百度
(2)域名
域名是ip地址的别称,你通过ip地址访问,没有语义化,通过www.baidu.com访问语义化很足。
(3)端口
计算机中的端口号,就好像现实生活中的门票号一样。通过门牌号,外卖小哥可以在整栋大楼的众多房间中,准确地把外卖送到你的手中。
同样的道理,在一台电脑中,可以运行成千上百个web服务。每个web服务都对应唯一的端口号。客户端发送过来的网络请求,可以通过端口号,可以被准确地交给对应的web服务器进行处理。
图示:
(4)127.0.0.1和Localhost
说明:
127.0.0.1是回送地址,指本地机,是用来测试使用。
回送(127.x.x.x)是本机回送地址(Loopback Adddress),即主机IP堆栈内部的IP地址,主要
用于网络软件测试以及本地机进程通信,无论什么程序,一旦使用回送地址发送数据,协议
软件立即返回,不能进任何网络传输。
127.0.0.1这个地址分配给loopback接口。loopback是一个特殊的网络接口(可理解成虚拟网卡) ,
用于本机各个应用之间的网络交互。只要操作系统的网络组件是正常的,loopback就能正常工作。
在windows系统中,这个地址有一个别名“Localhost”。寻求这样一个地址,是不能发到网络接口的。
除非出错,否则在传输介质上永远不应该出现目的地址为"127.0.0.1"的数据包。
(5)通过http创建一个服务器
// 1.导入http
const http=require('http')
// 2.创建服务器
const app=http.createServer();
//3.监听接口
app.on('request',function(req,res){
console.log(req.method);
console.log(req.url);
res.end('123456')
})
//4.启动接口
app.listen('8080',function(){
console.log('端口启动在http://127.0.0.1:8080');
})
启动后:
(6)req
req监听的请求相关的信息
如:请求方法,请求的url地址
(6)res
响应给客户端的内容
res.end() :响应的内容。
res.setHeader():响应解析的编码格式。
(7)通过postman来请求本地的服务器
三.通过不同的地址访问到不同的内容
1.代码:
const http=require('http')
const app=http.Server()
app.on('request',(req,res)=>{
const url=req.url
let content=' <h1>404 Not found</h1>'
if (url==='/'||url==='/index.html') {
content=`shouye`
}
else if(url==='/about.html'){
content=`about`
}
res.setHeader('Content-Type','text/html','charset=utf-8')
res.end(content)
})
app.listen('80',()=>{
console.log('http://127.0.0.1:80');
})
图示:
没有访问到