day25-http和第三方模块的下载
一、http
1. 介绍 HTTP协定,叫超文本传输协定(Hypertext transfer protocol)。是一个规定,规定了浏览器和服务器之间通信的规定。 http的传输行为,共分为三个步骤:建设连贯进行传输断开连接2. 三次握手 目标:让客户端和服务端都能明确本人和对方是否能接管到音讯 第一次握手:客户端被动给服务端发送音讯,申请连贯 第二次握手: 服务器收到音讯后,给客户端回应一个音讯,示意曾经收到要连贯的申请 第三次握手: 客户端收到服务器的音讯后,给服务器再次发送音讯,示意收到服务器响应的音讯3. 传输 客户端给服务器端发送申请 服务器端给客户端做出响应 3.1 申请 申请行:申请形式;申请门路;协定以及版本 申请形式--get:获取、post:新增、put:批改、delete:删除 申请门路-- 残缺的url跳过协定和域名前面的局部 (服务器中的req.url) 协定以及版本 get:输出地址敲回车;表单默认提交;a标签跳转;引入文件 post:form设置post形式提交 申请头--- 申请行上面的那些键值对。指定这次申请的承受范畴、主机 名、缓存、数据格式。。。 申请空行---空格换行 申请主体--- 就是这次申请发送次要数据 post申请的申请主体肯定是 From Data,源数据是 键=值 let str = '' req.on('data', chunk => { str += chunk.toString() }) req.on('end', () => { console.log(str) }) get申请的数据在地址栏中显示,肯定是Query String Parameters require('queystring').parse(require('url').parse(req.url).query)3.2 响应 http规定,服务器接管申请后,要对客户端进行响应。http规定响应 信息必须遵循响应报文的规定。 3.2.1 响应行 (1)协定和版本 (2)响应状态码:每次申请响应的时候,会带一个数字,示意这次 申请的响应是什么状态 1xx:代表申请已被承受,须要持续解决 2xx:代表申请已胜利被服务器接管、了解、并承受 3xx:代表须要客户端采取进一步的操作能力实现请 4xx:代表了客户端看起来可能产生了谬误,障碍了服务器的解决 5xx:代表了服务器在解决申请的过程中有谬误或者异样状态产生 服务器设置响应状态码:res.writeHead(状态码, 状态形容) (3)响应状态形容:肯定是英文单词 3.2.2 响应头 设置响应头 - 防止中文乱码 res.setHeader('Content-Type','text/html;charset=utf8') 响应信息中的键值对组成的响应头 3.2.3 响应主体 响应给客户端的内容-------res.end(主体内容)4. 四次挥手(1)第一次挥手,客户端被动对服务器发动断开申请(2)第二次挥手,服务器响应收到申请(3)第三次挥手,服务器断开连接 (4)第四次挥手,客户端断开连接
二、 第三方模块下载
咱们在写代码的时候,本人不会写,内置也没有,找雷锋叔叔写好 的来用 1. npm-----nodejs自带 查看npm版本 npm -v npm下载模块 npm install/i 包名 npm i 包名 包名 ... # 下载多个模块 npm i 包名@版本号 # 最新版本能够应用 @latest 查看模块的所有版本 npm view 模块 versions 查看所有装置好的依赖包: npm list npm ls 卸载: npm uninstall/un 包名 npm切换镜像源: npm config set registry #设置以后下载地址 npm config get registry # 获取以后下载地址 npm --registry https://registry.npm.taobao.org install node-red- contrib-composer@latest # 长期切换应用 npm初始化命令(强制生成package.json文件): npm init # 手动输出整个包的信息 npm init -y # 主动生成整个包的信息 - 不能在中文文件夹下应用 有了package.json文件,要疾速将记录好的模块下载进去-----npm i 初始化(生成package.json文件) npm init------所有内容要手动输出 npm init -y----所有内容都主动生成----不能在中文文件夹下执行 2. yarn 多个模块之间有依赖关系的时候,npm是同步下载,一个一个下 载,yarn能够异步下载,并发下载 检测装置: yarn --version 初始化: yarn init yarn init -y 下载安装包: yarn add 包 arn add 包@版本号 卸载包: yarn remove 包 依据package.json装置记录好的模块: yarn yarn install
三、 常用工具
1. nodemon 监听文件变动主动重启 下载----------- npm i nodemon -g 检测版本--------nodemon -v 应用---------nodemon 文件名 2. http-server 疾速的不必写代码的将一个文件当作动态资源服务器启动 下载----------npm i http-server 检测版本------http-server --version 应用----命令行来到指标文件夹下-----http-server