-- 作者 谢恩铭 转载请注明出处
第二部分第二课:服务器语言
上一课Web探索之旅 | 第二部分第一课:客户端语言介绍了Web的客户端,我们来谈谈Web的服务器端吧。
既然客户端有客户端的编程语言(HTML,CSS和JS),那么我们服务器端岂能逊色呢,对吧。
服务器端也有不少种编程语言。这些编程语言写成的程序会在服务器端的电脑上被执行。
如果说客户端的语言编写的程序决定了我们的网页的外观,那么服务器端的语言编写的程序决定了网页的功能和如何与用户交互。
你也许会问:“既然我们可以用HTML,CSS和JavaScript直接写出客户端的Web网站,那为什么还要多此一举用服务器端的语言来编写网站呢?”
好问题!
首先,我们来学习两个概念:
静态网页和动态网页
这两种网页的类别之区分不在于一个会动,一个是静止的。
静态网页(摘自百度百科):
Static Webpage:在网站设计中,纯粹HTML格式的网页通常被称为“静态网页”,静态网页是标准的HTML文件,它的文件扩展名是.htm、.html,可以包含文本、图像、声音、FLASH动画、客户端脚本和ActiveX控件及JAVA小程序等。静态网页是网站建设的基础,早期的网站一般都是由静态网页制作的。静态网页是相对于动态网页而言,是指没有后台数据库、不含程序和不可交互的网页。静态网页相对更新起来比较麻烦,适用于一般更新较少的展示型网站。容易误解的是静态页面都是htm这类页面,实际上静态也不是完全静态,他也可以出现各种动态的效果,如GIF格式的动画、FLASH、滚动字幕等。
动态网页(摘自百度百科):
Dynamic Webpage:动态网站并不是指具有动画功能的网站,而是指网站内容可根据不同情况动态变更的网站,一般情况下动态网站通过数据库进行架构。 动态网站除了要设计网页外,还要通过数据库和编程来使网站具有更多自动的和高级的功能。动态网站体的网页一般是以asp,jsp,php,aspx等结束,而静态网页一般是.html或.htm结尾。动态网站服务器空间配置要比静态的网页要求高,费用也相应的高,不过动态网页利于网站内容的更新,适合企业建站。动态是相对于静态网站而言。
现在我们较少看到一些静态网页了,一般的网站都是动态,可以和用户交互的。
静态网页,你一旦用HTML和CSS写好,上传到服务器空间,以后每个用户访问你的网址看到的网页都是一样的。
动态网页展示给每个用户一般是不一样的,例如可以注册用户的那些网站,肯定是动态网页。因为你登录后就看到自己的信息,其他人登录则看到他们自己的信息。
下一课我们会介绍数据库,到时候就理解得更透彻了,现在有点小晕是正常的。
与客户端不同的是,服务器端没有一种语言是必须使用的。对于客户端来说,HTML语言是必须的。对于服务器端,我们可以选择适合自己的编程语言来开发。
常见的服务器端编程语言有:
- PHP
- Java
- Python
- Ruby
- C#
除了这5种比较常用的,其他还有一些服务器端语言。
我们不能说这5种里哪一种语言更好更优越,只要你用着习惯,可以用它来实现你想要的功能,那就足够了。不一定非要AK47,一把瑞士军刀也可以让你决胜千里之外,不必“送你离开”了,不是吗?
客户端的浏览器是不能读取服务器端语言写的程序的,它“看不懂”Java,PHP等写成的程序。
客户端请求网页,服务器端的编程语言写成的程序生成HTML网页,然后返还给客户,每个客户得到的结果不尽相同。
就如我们上述所说,服务器端的语言没有谁好谁不好,只要你用着顺手,都可以。不过,我们也可以来看看一些大公司都喜欢用什么服务器语言:
-
Google:谷歌公司,主要使用Java和Python。
-
Wikipedia:维基百科,主要使用PHP。
-
Facebook:脸书,主要使用PHP,知道一点Facebook历史的朋友应该记得马克.扎克伯格在哈佛大学使用PHP开发了日后Facebook的雏形(当然一开始极为简单)。
-
Microsoft:微软公司,主要使用C#。因为微软要为自家的C#语言做推广么。
-
银行和政府组织的网站:主要使用Java。因为Java还是比较健壮稳定的(第一个登陆火星的火星车“勇气号”的应用程序代码主要是用Java写的),这些机构需要功能强大且安全的代码。当然不是说其他服务器语言不安全,你也可以用PHP为银行开发网站。只是用Java开发网站貌似已经成为这些机构的惯例。
-
硅谷的新兴创业公司:主要使用Python和Ruby。虽然这两门编程语言不是很年轻,但是近几年确实很火。而且用它们来开发网站非常快捷方便,这两门语言入门也相对简单,也很灵活。
当然了,看了上面的列表,不要太被影响。我们一般开发网站,只要选择你最喜欢和最顺手的服务器语言就好。
总结
PHP,Python,Java,Ruby,C#等:服务器编程语言,决定了网站的功能。
你可以在它们之间选择一种你自己喜欢的。
下回预告
我是谢恩铭,在法国巴黎奋斗的嵌入式软件工程师。
目前工作是Android嵌入式和app开发。
热爱生活,喜欢游泳,略懂烹饪。