fs模块,流,http协议/模块

315 阅读2分钟

1.fs模块

 (1)创建目录

 fs.mkdir(path, callback) / fs.mkdirSync(path) 

 path 目录的路径 

 callback 回调函数

 (2)读取目录

 fs.readdir(path, callback) / fs.readdirSync(path)

 (3)移除目录

 fs.rmdir(path, callback) / fs.rmdirSync(path) 

 (4)覆盖写入文件 

 fs.writeFile(path, data, callback) / fs.writeFileSync(path, data)

 path 文件的路径

 data 要写入的数据 

 如果文件不存在,会先创建文件然后写入数据 

 如果文件已经存在,会覆盖其中的内容写入数据 

(5)追加写入

 fs.appendFile(path, data, callback) / fs.appendFileSync(path, data) 

 如果文件不存在,会先创建文件然后写入数据

 如果文件已经存在,会在文件的末尾追加写入数据 练习:将一组数据(数组)使用同步方法追加写入到文件data.txt中。

 遍历数组 

 (6)读取文件 

 fs.readFile(path, callback) / fs.readFileSync(path) 

 读取的数据格式为Buffer,需要转字符串。

 (7)删除文件

 fs.unlink(path, callback) / fs.unlinkSync(path) 

 (8)检测文件(目录)是否存在 

 fs.existsSync(path) 如果存在返回true,不存在返回false

2.流(stream)

 数据流,只需要内存中很小空间,就可以读取一个大文件。

 fs.createReadStream(path) 创建可读取的流对象 

 fs.createWriteStream(path) 创建可写入的流对象 

 pipe() 管道,专门用于处理流

3.http协议

 客户端浏览器和web服务器之间的通信协议

 (1)通用头信息(General)

 Request URL: 请求的URL,代表请求的内容是哪些

 Request Method: 请求的方法,请求内容的方式,常用的 get / post

 Status Code: 响应的状态码

 1**: 正在响应,还没有结束 

 2**: 成功的响应 

 3**: 响应的重定向,会跳转到另一个URL,要结合响应头信息的Location完成跳转 

 4**: 客户端错误 

 5**: 服务器端错误

 (2)响应头信息(Response)

 Location: 跳转到另一个URL,结合状态码3** 

 Content-Length: 响应的内容的长度

 Accept-Ranges: 响应内容的单位 通常是bytes

 Content-Type: 响应的文件类型

 (3)请求头信息(Request)

 Accept-Encoding: 浏览器接受的压缩类型 gzip / deflate

 (4)请求的主体 

 传递的数据,可有可无

4.http模块 

 既可以创建一个独立web服务器,也可以模拟浏览器向另一个服务器发请求

 (1)向其它服务器发请求

 http.get(url, callback) 

 url 请求的URL

 callback 通过回调函数获取响应

 res 响应的对象 

 res.statusCode 响应的状态码 

 res.on('data', function(chunk){ }) 通过事件获取传递的数据,chunk就是获取的数据,格式为Buffer。

 (2)创建web服务器



 http://127.0.0.1:8080 

 http://localhost:8080