码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 浅谈前端开发模式和url的hash模式以及html5的history模式


    在前端开发初期,最开始设计模式并不清晰,到后来总结经验后,逐步完善,有了目前的前端开发方式。本文也顺着时间线,给大家讲解相关概念。

    前端渲染,什么是后端渲染(重要)

    后端渲染(SSR):类似JSP,网页直接从后端进行渲染(服务端),再向客户展示

    Snipaste_2022-05-30_18-16-46

    Snipaste_2022-06-27_15-11-03

    前端渲染(BSR):浏览器中显示的网页中的大部分内容,都是由前端写的js代码在浏览器中执行,最终渲染出来的网页。

    前后端分离阶段

    Snipaste_2022-05-30_18-24-26

    Snipaste_2022-05-30_18-33-49

    Snipaste_2022-06-27_15-10-16

    单页面富应用阶段(SPA页面)

    • 其实SPA最主要的特点就是在前后端分离的基础上加了一层前端路由,也就是前端来维护一套路由规则。
    • 整个网页只有一个html页面。

    Snipaste_2022-05-30_18-56-10

    前端路由,什么是后端路由

    后端路由:URL会发送到服务器,服务器会通过正则对该URL进行匹配,并且交给一个Controller进行处理。

    总体优缺点:

    • 后端路由:

      • 优点:渲染好的页面不需要加载任何的js和css,可以直接交给浏览器进行展示,有利于SEO的优化。

      • 缺点:整个页面的模块由后端人员来开发和维护的,前端人员要是想要开发页面,需要通过PHP和Java等编程语言来编写代码。

        通常情况下,HTML代码和数据以及对应的逻辑会混在一起,编写和维护都是非常糟糕的事情。

    url的hash模式

    可以更改页面指向,同时也不会请求资源

    location.hash='bbb'
    
    • 1

    Snipaste_2022-05-30_20-08-11

    history.pushState({},'','home')
    
    • 1

    Snipaste_2022-05-30_20-17-43

    将url压入栈(先进后出)中

    Snipaste_2022-05-30_20-22-35

    HTML5 的history模式

    go

    Snipaste_2022-05-30_20-31-20

    replaceState

    Snipaste_2022-05-30_20-28-26

    补充说明:

    1. history.back () 等价于 history.go(-1)
    2. history.forward() 等价于 hisrory.go(1)
    3. 这三个接口等同于浏览器界面的前进后退
  • 相关阅读:
    【STL巨头】set、map、multiset、multimap的介绍及使用
    Java虚拟机面试问题
    【vscode】 unable to connect to github.com
    rxjs Observable 两大类操作符简介
    CMakeLists.txt详解
    zookeeper的安装与配置和启动闪退问题的解决(win)
    消息队列十连问
    java基于springboot+jsp高校物资采购管理系统maven项目附源码
    单链表OJ题:LeetCode--142.环形链表Ⅱ(判断第一次入环的节点)
    【语音识别】搭建本地的语音转文字系统:FunASR
  • 原文地址:https://blog.csdn.net/liyuchenii/article/details/126215152
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号