我的账户
猩码学苑

专注C++开发菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

罗旭20230203

[复制链接]
十四lll 发表于 2023-2-16 18:43:41 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
  • . 路由拆分
    • 为什么要拆分
      • 完成学生管理系统的增删改查操作之后,我们会发现app.js文件变的很大。
      • 越大的文件越难于维护,所以我们需要将app.js文件进行拆分,让每个文件变的更小,功能更单一,这样就有利于项目的后期维护了。
      • 原则: 让每个文件都更小,功能更单一

    • 路由模块拆分
      • 核心思想: 将创建服务器和监听路由拆分成两个模块。
      • 优势: 每个js文件都功能单一,有利于项目维护
        • app.js: 创建并开启服务器、托管静态资源、注册其他中间件、加载路由模块
        • router.js: 监听路由

      • app.js 整体文件


      • 将所有 app.get 路由监听全都剪切到 router.js 文件中


      • 在 router.js 文件中,创建路由对象,再使用路由对象代替app,最后导出路由对象


      • 在 app.js 文件中加载 router.js 模块,并将其注册为中间件


      • app.js:专注于创建并启动服务器,加载模块并注册为中间件
      • router.js:专注于路由监听并处理

  • 2为什么需要会话控制技术
    • 不登录,直接请求  127.0.0.1:3000/index , 依然能够正常看到页面。因为在 /index 中没有验证用户是否登录。
    •   验证用户名和密码的操作不能使用普通的技术,而是需要使用 会话控制 技术
    • HTTP是无状态协议,它不对之前的发生过的请求和响应的状态进行管理。不可否认,无状态协议当然也有它的优点。由于不必保存状态,自然可减少服务器的CPU及内存资源的消耗。从另一方面来说,也正是因为HTTP协议本身是非常简单的,所以才会被应用在各个场景里。
    • 会话控制技术可以在web浏览器与服务器多次请求/响应过程中,实现跟踪用户的功能。
  • 3. cookie技术
    • 什么是cookie
      • cookie是将数据持久化存储到客户端(浏览器)的一种技术。
      • 服务器可以将数据写到浏览器中, 一个网站最多能在一个浏览器写20个cookie。
      • (Firefox每个域名cookie限制为50个。Opera每个域名cookie限制为30个,Safari/WebKit貌似没有cookie限制。但是如果cookie很多,则会使header大小超过服务器的处理的限制,会导致错误发生。)
      • 一个浏览器能够设置的总cookie数最多为300个,每个不能超过4kb。
      • cookie既能保存在文件中,也能保存在内存中。

    • 设置cookie
      • 核心: cookie是随着响应头返回给浏览器的
      • 设置cookie的核心思想: 使用 res.setHeader 或者 writeHeader 将cookie信息设置在响应头中
      • cookie设置格式:key=value;expires=time
        • key: cookie的名称
        • value: 名称对应的值
        • expires: 有效期






    • 读取cookie
      • 一旦网站在浏览器设置好cookie之后,浏览器再访问网站时,cookie信息就会随着请求头一起发送给服务器
      • req.url: 保存了请求url地址
      • req.method: 保存了请求方式
      • req.headers: 保存了请求头信息
      • 当cookie设置好之后,浏览器访问任何一个路由时,都能将cookie信息发送给服务器,所以,任何一个路由都能使用  req.headers.cookie 获取cookie信息


    • cookie有效期
      • 设置了expires则有效期到expires指定的时间
      • 未设置expires则关闭浏览器cookie即消失


      • toUTCString()生成的时间有一个特点,就是 世界时的 0点 实际上就是北京时间的 8点 ,如果说 世界是时15点,那么北京时间就是 23点了



    • 在浏览器中查看cookie的三种方式
      • 1 在Network中的请求报文以及响应报文中可以查看到
      • 2 在application中可以查看到cookie
      • 3 通过js:document.cookie

    • 浏览器写入cookie
      • document.cookie = 'isLogin=1'



回复

使用道具 举报

关注0

粉丝0

帖子42

发布主题
大家都在学
课堂讨论
一周热帖排行最近7x24小时热帖
关注我们
专注C++菁英教育

客服电话:18009298968

客服时间:9:00-21:00

猩码学苑 - 专注C++开发菁英教育!( 陕ICP备2025058934号-1 )

版权所有 © 陕西菁英数字科技有限公司 2023-2026