关于前后端分离

关于前后端分离,第1张

对于前后端分离,认识上有个误区,那就是很多人自称:我们老早就分离了,全AJAX,使用Angular或者什么什么就可以了。

这个说法是不合适的,打个比方,别人问的是“如何解决家禽把蛋生在水草边的问题?”,但实际上人家养的是鸭子,答题的却是养鸡的,所以回答“不让去水边就行了”,这显然不在点子上。

这两年业界说的前后端分离,是限于偏展示类的系统(用A代替),而不是应用、管控类Web项目(用B代替),在B类项目里,前后端是天然分离的,对此,除了

少部分后端开发人员,基本所有人的认识都是一致的。上一段中这样回答的人一般都是只做B类项目,在B类项目里,前后端分离是共识,不需要讨论。

那么,剩下的问题就是讨论A类项目的前后端分离了。这个问题的核心在什么地方呢,在于模板的与数据结合的位置,以及,模板的控制权在谁手里。经过这两年的讨论,基本上我们可以达成的共识就是:模板应当由前端人员去控制,主要原因有两方面:

-性能优化(尤其是外部资源的管理与发布,请求合并等等)

-协作的顺畅性(已形成模板的界面片段的返工等问题)

那么,模板到底应该在什么地方跟数据结合?

这个问题就比较折腾了,有部分人尝试像B类项目那样,使用js模板,然后在浏览器端执行,这是存在一些问题的,比如说seo不友好,首屏性能不够,尤其对于首页DOM量很大的电商类网站,差距很明显。

所以我们还是得把主要的模板放在服务端来执行。在这个过程中,阿里作了一些尝试,那就是引入Node层,在这一层把模板与数据进行合成,然后浏览器拿到的就

是生成好的HTML了,但也不是所有HTML都是这么生成好的,还是会有一些内容等到了浏览器之后,再用js去加载和生成。

所以这一定会是一个混合方案,同一个系统中存在两种模板,一种在服务端执行,一种在浏览器中执行,互为补充。

至于说这个方案中,是否中间层一定要是node,我觉得无所谓,只要是能正常做web项目的东西都可以,这个还是要看所在企业的技术积累方向,当然node

做这块是有一些优势的,比如对前端人员的语言友好性,前后端模板的通用性等等,但这些都是细节,重点还是整体方案和流程。

这时候回头看你问题中的这句:

>前后端分离的意思是,前后端只通过JSON来交流,组件化、工程化不需要依赖后端去实现。

我相信你这里对前后端的限定是以浏览器为准的,但事实上,A类项目中,前后端的分界一定要延伸到服务器端的模板层,也就是在这一层里,把各种来源的数据整合到模板中,这个数据未必是JSON格式的,会存在有JSON,XML,特定的二进制等等。

组件化这个话题就更复杂了,在刚才组织形式中,很难说出究竟什么才是组件。是某个商品的模板吗?是数据吗?是数据和模板的结合体吗?没法回答。在此,我说一句自己的看法:像电商这种项目的前端部分,基本不存在组件的概念,甚至不存在组件化的价值,因为这里面可复用的东西太少了,也不易提取,大多数东西都是不带逻辑的界面模板。

最近因为ReactJS的流行,带来了一个Isomorphic的概念,这是一种很有意义的探索,但是否能解决这类问题,尚不得而知,根据我的理解,它对B类项目是较好的补充方案,但对A类项目暂时还缺乏可用性,因为A类项目中,运行期的DOM变更并不多,多是整片的改变,用这个方案去解决的话,有些牛刀杀鸡的感觉。

关于B类项目的组件化,我之前那个没写完的系列是关于它的,但经过最近一年多的思考,我又觉得需要再重新写一篇东西了。感谢你的问题提醒了我,这就写。

前后端分离的登录界面里的用户和密码他那里查看步骤如下:
1、前后端分离需先登录前后端分离的网址。
2、进入网址后会看到服务器端比对Cookie中的SessionId和保存在服务器端的SessionId是否一致。
3、点击一致会进入身份核实页面。
4、进而就看到了用户和密码。

一,线路问题
首先检查一下家里线路,看屋内接头是否接好,线路是否经过了什么干扰源,比如空调、冰箱、电视等,尽量与这些用电设备保持一定的距离。也可以自行把室内的线路使用抗干扰能力更强的网线代替。确保线路连接正确。电话线入户后连接接线盒,然后再到话音分离器分离,一线走电话、一线走MODEM(分离器上有标注)。同时确保线路通讯质量良好没有被干扰,没有连接其它会造成线路干扰的设备。并检查接线盒和水晶头有没有接触不良以及是否与其它电线串绕在一起。有条件最好用标准电话线,PC接ADSL Modem附带的双绞线。线路是影像上网的质量的重要因素之一。距离用户电缆线100米以内的无线电发射塔、电焊机、电车或高压电力变压器等信号干扰源,都能使用户下线接收杂波(铜包钢线屏蔽弱,接收信号能力强),对用户线引起强干扰。受干扰的信号往往是无屏蔽的下线部分进入,因为中继电缆有屏蔽层,干扰和影响都很小。如果在干扰大的地方用一些带屏蔽的下线,就会减少因干扰造成的速度不稳定或掉线现象。另外,电源线不可与adsl线路并行,以防发生串扰,导致adsl故障。另外其他也有很多因素造成网络不稳定,例如信号干扰、软件冲突。手机这一类辐射大的东西一定不要放在ADSL Modem的旁边,因为每隔几分钟手机会自动查找网络,这时强大的电磁波干扰足以造成ADSL Modem断流。
二,网卡问题
网卡一般都是PCI网卡或者板载网卡,选择得时候定要选择质量较好的,不然可能造成上网质量欠佳。10M或10M/100M自适应网卡都可。另外,许多机器共享上网,使用双网卡,这也是引起冲突同样值得关注,这时,应当拔起连接局域网或其它电脑的网卡,只用连接ADSL的网卡上网测试,如果故障恢复正常,再检查两块网卡有没有冲突。
三,ADSL MODEM或者网卡设置问题
现在MODEM一般具有2种工作模式,一种是使用拨号软件的正常模式,一种是自动拨号的路由模式。在正常模式工作下,不需要对MODEM进行设置,使用默认即可。而路由模式则需要进行设置,MODEM带有自己的闪存,可以将帐户、密码盒设置存入,进行开机自动拨号。此方法最常见的是设置错了ADSL Modem的IP地址,或是错误设置了DNS服务器。因为对于ADSL虚拟拨号的用户来说,是不需要设定IP地址的,自动分配即可。TCP/IP网关一般也不需要设置。但是设定DNS一定要设置正确,DNS地址可以从当地电信部门获得。另外,TCP/IP设置最容易引起不能浏览网页的情况,一般设置为自动获得IP地址,但是DNS一定要填写。其他采用默认即可
四,ADSL Modem同步异常问题
检查一下自己的电话线和ADSL连接的地方是否接触不良,或者是电话线出现了问题,质量不好的电话特别容易造成掉线,但是这样的问题又不好检查,所以务必使用质量较好的电话线。如果怀疑分离器坏或ADSL Modem坏,尝试不使用分离器而直接将外线接入ADSL Modem。分离器与ADSL Modem的连线不应该过长,否则不能同步。排除上述情况,只要重起ADSL Modem就可以解决同步问题。
五, *** 作系统,病毒问题
除了上面提到的线路状况外,还有电脑系统方面的问题。比如传奇杀手引起局域网掉线。该问题在全国均大面积发生,该病毒对主机代理和路由器代理的网吧(局域网)均会造成影响。 传奇杀手是一款对局域网进行ARP欺骗,虚拟网关地址,以收集局域网中传奇游戏登陆信息并进行分析从而得到用户信息的破坏性软件工作流程:首先,将本机MAC通过arp欺骗广播至局域网,使局域网中的工作站误认为本机是网关该流程会造成局域网与internet连接中断,使游戏与服务器断开链接待用户重新启动游戏并进行帐号登陆时,帐户信息并不会直接通过网关上传到代理服务器,而是上传到正在进行arp欺骗的传奇杀手软件中通过传奇杀手自身的解密手段,会获得该帐户的真实用户名及密码从而达到窃取玩家帐号的目的发作状况:局域网与internet链接速度突然变慢甚至断开网络游戏断开链接,且重新登陆后提示服务器无相应。建议首先查杀病毒;如果有能力的话,重新安装系统;如机器使用有双网卡,卸载一块网卡;建议对于电脑不是很熟悉的用户不要随意安装各种防火墙软件,设置不正确会造成上网不稳定。有的 *** 作系统可能对ADSL的相关组件存在兼容性问题,这样可以到微软对系统进行升级,或者修复系统。有条件可以进行重装。如果软件有冲突就尽量找出冲突软件,对其卸载或者其他方法解决。
六,防火墙,IE浏览器设置不对
ADSL 虽然受到黑客和病毒的攻击可能性较小,但也不排除可能性,特别是网页病毒和蠕虫病毒。病毒如果破坏了ADSL相关组件也会有发生断流现象。如果能确定受到病毒的破坏和攻击,还发生断流现象时就应该检查安装的防火墙、共享上网的代理服务器软件、上网加速软件等,停止运行这类软件后,再上网测试,看速度是否恢复正常。如果上网不稳定,可以尝试先关闭防火墙,测试稳定与否,在进行相应的设置。 另外防火墙引起或IE浏览器出现故障,也可导致可以正常连接,但不能打开网页。
七,静电问题
静电是影响ADSL的重要因素,而家中的电源一般都不接地线,再加上各种电器(如冰箱、电视)的干扰,很容易引起静电干扰,致使ADSL在使用中频繁掉线,请将三芯插座的接地端引出导线并良好接地,一般可以解决掉线问题。一般解决方法:增加接地线,解决掉线问题 。
八,软件冲突问题
ADSL接入Internet的方式有虚拟拨号和专线接入两种,现在个人用户的ADSL大都是虚拟拨号。而PPPOE(Point-to-Point Protocol over Ethernet以太网上的点对点协议)虚拟拨号软件都有各自的优缺点。经过多方在不同 *** 作系统的测试,如果使用的 *** 作系统是Windows XP,推荐用它自带PPPOE拨号软件,断流现象较少,稳定性也相对提高。如果使用的是Windows ME或9x,可以用以下几种虚拟拨号软件--EnterNet、WinPoET、RasPPPoE。其中,EnterNet是现在比较常用的一款,EnterNet 300适用于Windows 9x;EnterNet 500适用于Windows 2000/XP。当你用一个PPPOE拨号软件有问题时,不妨卸载这个软件后换用一个其它的PPPOE拨号软件,请务必注意不要同时装多个PPPOE软件,以免造成冲突。因为电话线上网是宽带接入的主要方式,而这样就必须设置一条虚拟通道,如果几种拨号软件混装就会引起冲突,造成网络及其不稳定。如果软件有冲突就尽量找出冲突软件,对其卸载或者其他方法解决。比如有的朋友BT下载会导致网络掉线。可能下载的时候占用过多的线程导致断线。
另外,,QQ以及游戏掉线的原因除了上述你自己电脑的原因外,还可能与它们自身的服务器限制以及服务器被攻击或出现故障有关系。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12789802.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存