• HTTP协议,HTTP模块,express框架


    十一.http协议

    超文本传输协议,是客户端和WEB服务器之间的通信协议
    WEB服务器:为前端提供所需要的资源
    1.通用头信息
    Request URL:请求的网址,表示要请求的服务器端资源
    Request Method:请求的方式,对资源的操作方式,例如:get、post
    Status Code:响应的状态码
    1**:接收到了请求,还没有响应
    2**:成功的响应
    3**:响应的重定向
    4**:客户端错误
    5**:服务器端错误
    2.响应头信息(response)
    Location:要跳转的网址,配合着状态码3**使用
    Content-Type:响应的内容类型 解决中文乱码 text/html;charset=utf-8
    3.请求头信息(request)

    十二.http模块

    使用http模块就可以创建WEB服务器
    const http=require(‘http’) //引入http模块
    const app=http.createServer() //创建WEB服务器
    app.listen(3000) //设置端口
    //服务器通过事件监听浏览器请求
    app.on(‘request’, (req, res)=>{
    req 请求的对象
    req.url 获取请求的资源 格式 ‘/login’
    req.method 获取请求的方式 GET…
    res 响应的对象
    res.statusCode=状态码 设置响应的状态码,默认是200
    res.setHeader() 设置响应的头信息
    res.write() 设置响应的内容
    res.end() 结束并发送响应
    })

    框架:是一整套解决方案,简化了已有的功能,添加了新的功能,为项目开发准备的。
    Java -> Spring
    python ->django
    php -> thinkphp
    Node.js -> express/koa/egg…
    JS -> Vue/React

    十三.express框架

    基于Node.js平台,快速、开放、极简的WEB开发框架
    网址:www.expressjs.com.cn
    属于是第三方模块,需要先去下载安装
    npm install express
    1.创建WEB服务器
    const express=require(‘express’) //引入express模块
    const app=express() //创建WEB服务器
    app.listen(3000) //设置端口
    2.路由
    路由用于监听特定的请求;包含请求的网址、请求的方法、回调函数三部分。
    响应的对象res
    res.send() 设置响应的内容并发送
    res.redirect() 设置响应的重定向
    res.sendFile() 设置响应的文件并发送,文件必须使用绝对路径 __dirname
    请求的对象 req
    req.url 获取请求的网址
    req.method 获取请求的方式
    req.query 获取get传递的参数
    3.路由传递参数

    传参方式格式路由中获取
    get传递http://127.0.0.1:3000/mysearch?kw=小米&a=1req.query{ kw:‘dell’ }
    post传递http://127.0.0.1:3000/mysearch/dellreq.params 需要设置参数名 { kw:‘dell’ }
    post传递网址中不可见 http://127.0.0.1:3000/mysearch需要中间插件转对象

    绝对路径:D:/XX/XXXX/1.html
    相对路径:1.html

    获取绝对路径
    console.log(__dirname)

    req 请求对象
    req.url 获取请求的URL
    req.method 获取请求的方法
    req.query 获取get传递的参数
    req.params 获取params传递的参数

    4、post传参
    需要使用中间插件将post传参转为对象
    app.use(express.urlencoded({ extended:true //告诉内部是否使用第三方模块转为对象 }))
    在路由中使用req.body即可获取对象

    添加插件,可以将所有post传递的参数转为对象
    urlencoded 网址编码
    将转为对象放入req.body
    告诉内部如何转对象

    app.use(express.urlencoded({
    extended:true //是否使用第三方模块转对象 如果为false 则使用官方提供的模块
    }))

    在路由中使用req.body即可获取对象

  • 相关阅读:
    HTTPS协议的加密流程
    运筹说 第66期|贝尔曼也有“演讲恐惧症”?
    计算机毕设之基于Hadoop+springboot的物品租赁系统的设计与实现(前后端分离,内含源码+文档+教程)
    计算机网络 2.3数据交换技术
    前端 Array.sort() 源码学习
    WebWall-04.CSRF(跨站请求伪造)
    Redis数据类型——hash类型的应用场景
    Windbg可以看到Visual Studio中看不到的有效函数调用堆栈
    【国际竞赛-计算机篇】2022年高含金量的计算机竞赛有哪些
    Java“牵手”天猫商品列表页数据采集+天猫商品价格数据排序,天猫API接口申请指南
  • 原文地址:https://blog.csdn.net/m0_46170663/article/details/126243572