认识前后端交互历史 | 青训营笔记

102 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 12 天

前言

在之前的学习中,我们讨论了前端三件套的一些基础语法,认识了它们的发明原因和使用场景。在今天我们需要讨论一个web技术中前后端的交互点——网络请求。网络请求作为前端向后端接口发送数据的重要手段,在历史上发展的阶段各显特色,我们会从早期的前后端交互方式至现代前后端交互技术进行总结。

JSP技术实现web

在编程早期还没有前后端分离的概念,所以网页的开发与接口数据库开发的程序员是同一个人。在当时流行采用JavaWeb技术栈,通过后端JSP技术直接返回整个html页面,但这样做存在严重的效率地下问题。存在大量数据并没有修改却要重新渲染整个页面的情况比比皆是,既要编写html也要编写接口对程序员的要求也非常高。

ajax实现数据交互

针对数据复用率差的这一缺点,程序员设计出了ajax方式实现数据交互。

  • ajax指async javascript and XML(异步JavaScript和XML)
  • 是前后台交互的能⼒ 也就是我们客户端给服务端发送消息的⼯具,以及接受响应的⼯具
  • AJAX 不是新的编程语言,而是一种使用现有标准的新方法。
  • AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。
  • 是⼀个 默认异步执⾏机制的功能,AJAX分为同步(async = false)和异步(async = true)

了解了ajax,我们就明白了,我们不再需要后端每次都返回整个html页面到前端,而是利用ajax发送json数据,再利用dom操作直接修改前端数据。这样不仅仅使发送的数据体积大大减小,也实现了网页的局部更新,我们不再需要刷新页面得到新的数据。

axios封装ajax

在现代前后端交互中,我们往往使用axios代替原生ajax发送数据。axios仅仅是对ajax的promise风格封装,虽然内核没有变化,但axios让程序员在书写请求相关的代码时的结构更加规范整洁,大大提高了代码可读性和可维护性。

总结

本次学习了解了前后端交互历史从一体化到分离的过程,我们感受到了随着时代发展需求多样性不断提升,本次的学习会使我们对于需求分析的能力有更进一步的提升。