这里写目录标题
fs模块
文件写入
文件写入就是将数据保存到文件中。
- writeFile 异步写入
2.writeFileSync 同步写入
同步处理js主线程会等待其他的执行结果,然后再继续执行主线程的代码,效率较低。
异步处理js主线程不会等待其他线程的执行结果,直接执行后续主线程的代码,效率较好。
3 . appendFile / appendFileSync 追加写入
appendFile 作用是在文件尾部追加内容,appendFile 语法与 writeFile 语法完全相同。
- createWriteStream 流式写入
文件读取
文件读取是通过程序从文件中取出其中的数据。
方法:
readFile 异步读取
readFileSync 同步读取
createReadStream 流式读取
相对路径问题
使用fs模块时,尽量使用—dirname将路径转化为绝对路径,这样可以避免相对路径产生的bug。
path 模块
HTTP协议
概念
这个协议规定了 浏览器 和 服务器 之前互相通信的规则
协议注意规定了两个方面的内容
客户端:用来向服务端发送数据,可以被称之为请求报文
服务端:向客户端返回数据,可以被称之为响应报文
(报文:可以简单理解为就是一堆字符串)
请求报文的组成
请求行:
请求方法:get, post, put ,delete等
请求URL:
请求头:
空行
请求体:
响应报文的组成
响应行:
常见响应状态码:
200 请求成功 403 禁止请求 404 找不到资源 500 服务器内部错误
响应头:
空行:
响应体:
创建HTTP服务
模版:
1.导入 http 模块
2.创建服务对象
3.监听端口,启动服务
注意事项:
HTTP协议默认端口是80 。HTTPS协议的默认端口是443,HTTP服务开发常用端口有3000,8080,8090,9000等
获取 HTTP 请求报文
想要获取请求的数据,需要通过 request 对象
设置 HTTP 响应报文
每一个请求在处理时必须执行end方法,且只能有一个方法,而write方法可以多次使用。
静态资源服务
静态资源是指 内容长时间不发生改变的资源 ,例如图片,视频,CSS 文件,JS文件,HTML文件,字体文件等。动态资源是指 内容经常更新的资源 ,例如百度首页,网易首页,京东搜索列表页面等
GET 和POST 请求场景小结
GET 和POST 请求的区别
GET主要用来获取数据,POST主要用来提交数据