网络网址与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.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议