网络网址与http模块
path路径模块
是node.js中提供的一个系统模块,用于格式化或拼接一个完整的模块
var path=require('path');
路径格式化
path.normalize(路径);
比如说路径中出现诸如./path../
相当于进入该文件夹又退出,相当于多余操作,就会进行省略
将多个字符串拼接成一个完整的路径
path.join()
example:
p2='./day02/hello/zs.html';
console.log(path.join('code',p2);
结果显示code/day02/hello/zs.html
path.dirname()
返回路径中的文件夹部分
example:
原路径: as/example/1.html
文件夹部分:as/example
path.basename()
返回路径中的文件部分
example:
原路径:as/example/1.html
文件部分:1.html
path.extname()
返回路径中的扩展名部分
原路径:as/example/1.html
扩展名部分:.html
path.parse()
解析路径,返回一个对象包含路径中的每一个对象
{ root: '', dir: '', base: 'c.html', ext: '.html', name: 'c' }
URL
统一资源定位符,对网络资源的一种简洁表达式
是一个结构字符串
协议://用户名:密码@主机名.名.域:端口号/目录名/文件名.扩展名?参数名=参数值&参数名2=参数值2#hash
.gov.cn
政府机关
默认端口:80端口
单页面应用
http://music.163.com/#/discover/playlist
端口号范围:0~65535
所有的网络程序都会占用一个端口
1000以下的端口最好不要随便用
node.js的URL模块
在node.js中提供了两套对于url进行处理的API功能
1.老的node.js url模块
2.新的url模块(WHATWG URL标准模块)
var url=require('url');
对url进行解析
url.parse('要解析的url值');
上述是老模式
新模式
会把url看作一个类
var obj=new url.URL(u);
新模式可以查询传递的参数
更好地获取数据
http协议
超文本传输协议,是TCP/IP协议之上的一个应用层
是一种请求应答形式的协议,一次请求对应一次应答
细节:
定义了浏览器以什么格式向服务器发送请求
定义了服务器以什么样式解析浏览器发送过来的数据
定义了服务器以什么格式响应数据给浏览器
定义了浏览器以什么格式解析服务器响应的数据
软件开发模式
1.单机模式
打开电脑即可使用,不需要通过网络
2.C/S模式
Client / Server
需要下载安装以后才能连接网络使用,比如QQ和微信
3.B/S模式
浏览器Browser / Server
打开网址直接使用,比如谷歌,淘宝
Web客户端使用HTTP协议就可以访问Web服务器上面的内容,Web服务器响应相关的内容
http模块
设计成支持协议的许多特性
HTTP消息头由一个对象表示
http.get('url',function(res){//res为返回对象,接收到服务器响应的所有内容});
因为大多数请求都是GET请求而且不带请求主体,所以Node.js提供了该便捷方法
用于模仿客户端从服务器获取数据
将网络中的html代码保存到本地
res.pipe(fs.createWriteStream('文件路径');
Q.E.D.
Comments | 0 条评论