有关php和javascript的问题
尽可能少的使用php,多用js实现逻辑编程,这样呢能够大量的降低服务器的负担,相应的客户端的压力大一些,但是,我感觉会有很大的进步,请问一下各位专业人士,现在有没有这种用...
尽可能少的使用php,多用js实现逻辑编程,这样呢能够大量的降低服务器的负担,相应的客户端的压力大一些,但是,我感觉会有很大的进步,请问一下各位专业人士,现在有没有这种用法,我急需指导呀!
展开
4个回答
展开全部
你的这种想法确实是许多人都想过的问题,我同样也想过,甚至是实践过。
那把我了解过的一些经验说一说,不过,这也只是我的一家之谈,不足之处,还望见谅。
JS,也就是客户端多分担一些运算是可行的,但却有很大的局限性,到底哪些可以在客户端运算,哪些必须在服务端呢?
1. 可移植到客户端的计算:
1.1 用户界面相关的复杂计算,举个例子:在网页上显示显示各种统计图表
1.2 对用户输入进行客户端格式化,例子:ckeditor就属于这类应用
1.3 对将要与服务器进行交互的数据进行整理、统一提交请求:例子:比如有些特定的时候,客户端会频繁地与服务器交互,这时候,我们可以将数据进行汇集后统一提交服务器,这样可以减少请求次数,减少服务器压力。
1.4 对用户输入进行预转义、预处理,这一点虽然和cdeditor有些像,但不完全相同,我们可以对用户输入的特定内容进行预转义,比如用户输入一个“<”符号,我们事先将它换成字符实体“<”,然后在服务器端当然还是需要对它进行再次验证的,但因为多数时候(也就是用户属于正常操作,而非攻击时)都将不再存在需要替换的字符了,那么服务器端所占用的内存、计算时的资源占用都将减少,同时还有一个更大的好处,就是可以判断服务器是否正在被非法攻击,相信这一点好理解。
1.5 由于客户端计算存在可能被非法用户攻击的风险,所以许多时候被人直接忽视,其实不然,在做一些大规模计算时,也就是计算使用的原始数据和计算结果所占用的网络资源较少,却需要使用大量资源的时候,可以采用将数据移交客户端计算的模式,当然,这里有个度的把握,并不是所有的都在客户端,毕竟你需要在客户端计算的时候,是要有JS程序的,这些JS程序在传输给客户端的时候,同样会占用网络资源、服务器的CPU资源、内存资源。
2.必须在服务器端执行的计算:
2.1 用户身份的相关验证;
2.2 数据库相关的操作;
2.3 用户输入数据的二次检验,以及防攻击、防注入相关的数据验证;
2.4 用户统计、访问统计相关的计算
2.5 其它一些在客户端难以实现或无法完成的计算,比如:图片加水印
3. 现在越来越多的游戏、应用、网页的开发者都会思考这个问题,但是因为凡是网络传输,都存在一定的风险性,所以,应该在客户端计算,还是在服务器端计算,应该以实际情况出发,合理搭配才行。
以上也只是临时想出来的,难免会有不足,也有所遗漏,见谅则个。
那把我了解过的一些经验说一说,不过,这也只是我的一家之谈,不足之处,还望见谅。
JS,也就是客户端多分担一些运算是可行的,但却有很大的局限性,到底哪些可以在客户端运算,哪些必须在服务端呢?
1. 可移植到客户端的计算:
1.1 用户界面相关的复杂计算,举个例子:在网页上显示显示各种统计图表
1.2 对用户输入进行客户端格式化,例子:ckeditor就属于这类应用
1.3 对将要与服务器进行交互的数据进行整理、统一提交请求:例子:比如有些特定的时候,客户端会频繁地与服务器交互,这时候,我们可以将数据进行汇集后统一提交服务器,这样可以减少请求次数,减少服务器压力。
1.4 对用户输入进行预转义、预处理,这一点虽然和cdeditor有些像,但不完全相同,我们可以对用户输入的特定内容进行预转义,比如用户输入一个“<”符号,我们事先将它换成字符实体“<”,然后在服务器端当然还是需要对它进行再次验证的,但因为多数时候(也就是用户属于正常操作,而非攻击时)都将不再存在需要替换的字符了,那么服务器端所占用的内存、计算时的资源占用都将减少,同时还有一个更大的好处,就是可以判断服务器是否正在被非法攻击,相信这一点好理解。
1.5 由于客户端计算存在可能被非法用户攻击的风险,所以许多时候被人直接忽视,其实不然,在做一些大规模计算时,也就是计算使用的原始数据和计算结果所占用的网络资源较少,却需要使用大量资源的时候,可以采用将数据移交客户端计算的模式,当然,这里有个度的把握,并不是所有的都在客户端,毕竟你需要在客户端计算的时候,是要有JS程序的,这些JS程序在传输给客户端的时候,同样会占用网络资源、服务器的CPU资源、内存资源。
2.必须在服务器端执行的计算:
2.1 用户身份的相关验证;
2.2 数据库相关的操作;
2.3 用户输入数据的二次检验,以及防攻击、防注入相关的数据验证;
2.4 用户统计、访问统计相关的计算
2.5 其它一些在客户端难以实现或无法完成的计算,比如:图片加水印
3. 现在越来越多的游戏、应用、网页的开发者都会思考这个问题,但是因为凡是网络传输,都存在一定的风险性,所以,应该在客户端计算,还是在服务器端计算,应该以实际情况出发,合理搭配才行。
以上也只是临时想出来的,难免会有不足,也有所遗漏,见谅则个。
展开全部
业务逻辑
表现逻辑
你学习一下mvc模式编程吧
表现逻辑
你学习一下mvc模式编程吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
逻辑编程是什么?我觉得样式交给js、css,内容调用交给php就可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
钱才是最重要的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询