|
  
|
1#
发表于 2007-12-30 16:24
| 只看该作者
何谓动态网站,与静态网站的区别?
何谓动态网站,与静态网站的区别?
下面引用http://bbs.php168.com/read-bbs-tid-133076.html的一段话,其实这样的问题经常被公司客服人员不止一次的向客户解释.
引用开始:
动态网站指的是使用网站程序做出来的网站,常用的网站程序语言有
PHP ASP JSP这三种.
静态网站指的是htm这样后缀的网页
大家值得注意的是:网页上有几个动画飘来飘去,并不代理是动态网站.
引用结束.
其实网络编程这个概念,已经不新鲜了。但是,目前许多的PHPer都忽略它了。为什么呢。纵观我们PHP的学习历史,都是从阅读程序开始的。包括我自己,我最早写留言本的时候,开始学习表单,表单提交还有处理表单提交,访问数据库等等。也就是说,大家一开始就接触到了这个系统的每一个细节当中去了。所以,我们忽略了最重要的部分,就是整体去学习B/S架构的应用的背景以及特点。其实所谓的Web2.0和所谓的动态网页就是一个网络编程。也就是根据用户的输入来影响给用户的输出,而我们用PHP所作的是什么呢?就是把输入编程输出的事务逻辑处理。
既然是为用户实现的应用,就需要知道用户的意思,然后给出我们的思想。因此,这里面就必然存在着取数据与给数据的过程。所以,我们才需要表单,才需要浏览器。才需要Apache等等环境。
那么作为PHPer为什么了解那么多PHP之外的知识,我想现在大家就很清楚了。因为我们所作的是网络编程。
回想一下我们最开始学习的C语言的程序,我们用scan函数扫描用户的输入,并判断其是奇数还是偶数,然后告诉用户我们的判断。这就是最简单的从输入到处理再到输出的过程。那么这个模式迁移到互联网以后呢,我们就需要借助计算机通信的技术了。
我们需要用户的计算机把用户的输入传递给我们,然后再让服务器把我们的结果传递给用户完成这个过程。因此,我们使用到了计算机通信,我们使用到了通信协议。使用到了加密,使用到了压缩,数据验证等等许多技术。
那么为什么PHP的简单会让人如此惊叹呢,那就在于它已经把这么复杂的处理过程都给我们省略了。我们只需要集中精神来处理核心的事务处理即可。其它的输入与输出的网络通信的事宜就交给PHP/LAMP等架构来实现吧。
因此,这个部分要总结的是,作为一个合格的PHPer要清楚地认识到这个关键性,并把我们的才智充分发挥出来。做好我们的网络编程!
这里举个例子。假设你有两台服务器,一台是web服务器,另外一台是专门存储图片的图片服务器。当用户要上传图片的时候,你怎么操作呢?
如果按照传统的处理方式,我们就用Web服务器获取用户的图片,然后再从Web服务器复制到图片服务器。
这种处理方式为什么不好呢?因为它没有充分利用网络编程的特点。这样操作的话,无疑会让Web服务器的压力增加许多,因为上传文件考虑到网络编程的特点,用户的带宽会明显影响到上传的进度。而且服务器之间拷贝文件也是资源的消耗。况且这样处理还会影响用户的浏览体验,因为页面肯定要等较长时间才能显示操作成功。
在充分理解了网络编程的情况下,我们可以这么处理。比如,我们可以让用户点击上传图片的按钮,然后弹出新的图片上传的窗口。注意,这个新的窗口是图片服务器上下载的页面,然后用户做上传处理。图片服务器接受了图片以后,只需要给Web服务器发送一个信号就可以了。或者它直接更新用户的数据库,更新图片信息也可以了。然后重新刷新主页面就可以解决问题了。 |
|