前端开发发展历程
1.1 服务器端渲染
服务器端渲染(SSR,server side render): 早期的网页都是通过后端渲染来完成的。
客户端发出请求;
服务端接收请求并返回相应HTML文档;
页面刷新,客户端加载新的HTML文档。
当用户点击页面中的某个按钮向服务器发送请求时,页面本质上只是一些数据发生了变化,而此时服务器却要将重绘的整个页面再返回给浏览器加载,这显然有悖于程序员的“DRY( Don‘t repeat yourself )”原则; 而且明明只是一些数据的变化却迫使服务器要返回整个HTML文档,这本身也会给网络带宽带来不必要的开销。
2.2 前后端分离
前端只需要独立编写客户端代码,后端也只需要独立编写服务端代码提供数据接口, 前端通过AJAX请求来访问后端的数据接口,将Model展示到View中即可。
HTTP简介
是一个简单的请求-响应协议; 它通常运行在TCP之上; 它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应; 请求和响应消息的头以ASCII形式给出,而消息内容则具有一个类似MIME的格式。 这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当。
发展阶段
3.1 0.9
3.2 1.0
3.3 1.1(目前使用最广泛的版本)
3.4 2.0
网络协议新版本并不会马上取代旧版本。实际上,1.0和1.1在之后很长的一段时间内一直并存,这是由于网络基础设施更新缓慢所决定的。
工作原理
客户与服务器建立连接; 客户向服务器提出请求; 服务器接受请求,并根据请求返回相应的文件作为应答; 客户与服务器关闭连接。
客户与服务器之间的HTTP连接是一种一次性连接。它限制每次连接只处理一个请求,当服务器返回本次请求的应答后便立即关闭连接,下次请求再重新建立连接。这种一次性连接主要考虑到WWW服务器面向的是Internet中成千上万个用户,且只能提供有限个连接,故服务器不会让一个连接处于等待状态,及时地释放连接可以大大提高服务器的执行效率。 HTTP是一种无状态协议,即服务器不保留与客户交易时的任何状态。这就大大减轻了服务器记忆负担,从而保持较快的响应速度。HTTP是一种面向对象的协议。允许传送任意类型的数据对象。它通过数据类型和长度来标识所传送的数据内容和大小,并允许对数据进行压缩传送。当用户在一个HTML文档中定义了一个超文本链后,浏览器将通过TCP/IP协议与指定的服务器建立连接。 HTTP支持持久连接,在HTTP 0.9和1.0中,连接在单个请求/响应对之后关闭。在HTTP / 1.1中,引入了保持活动机制,其中连接可以重用于多个请求。这样的持久性连接可以明显减少请求延迟,因为在发送第一个请求之后,客户端不需要重新协商TCP 3-Way-Handshake连接。另一个积极的副作用是,通常,由于TCP的缓慢启动机制,连接随着时间的推移而变得更快。
运作方式
要传送的数据; 控制信息,即告诉网络怎样处理数据包。
一个代理根据URI的绝对格式来接受请求,重写全部或部分消息,通过URI的标识把已格式化过的请求发送到服务器。 网关是一个接收代理,作为一些其它服务器的上层,并且如果必须的话,可以把请求翻译给下层的服务器协议。 一个通道作为不改变消息的两个连接之间的中继点。当通讯需要通过一个中介(例如:防火墙等)或者是中介不能识别消息的内容时,通道经常被使用。

本文作者:田富萍(上海新炬中北团队)
本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




