作者谢恩铭,公众号《程序员联盟》(微信ID:coderhub)。请注明出处。原文:https://www.jianshu.com/p/304...《Web探索之旅》全系列内容介绍服务端语言总结Part2Part3课前瞻1.服务端语言最后一课Web探索之旅|第二部分第一课:客户端语言介绍了Web的客户端,我们这节课讲讲Web的服务器端。客户端既然有客户端编程语言(HTML、CSS、JavaScript),怎么能比得上服务端呢,对吧?服务器端也有很多编程语言。用这些编程语言编写的程序将在服务器端计算机上执行。如果说用客户端的语言编写的程序决定了我们网页的外观,那么用服务器的语言编写的程序就决定了网页的功能以及如何与用户交互。您可能会问:“既然我们可以直接用HTML、CSS和JavaScript编写客户端网站,为什么还要费心用服务器端语言编写网站呢?”好问题!首先我们来学习两个概念:静态网页和动态网页的分类区别不在于一个是动的,一个是静的。静态网页(来自百度百科):静态网页:在网站设计中,纯HTML格式的网页通常被称为“静态网页”。静态网页是标准的HTML文件,其文件扩展名一般为.htm、.html,可以包含文本、图像、声音、FLASH动画、客户端脚本、ActiveX控件和Java小程序等。静态网页是基础网站建设,早期的网站一般由静态网页组成。静态网页,相对于动态网页,是指没有后台数据库,不包含程序,无法交互的网页。静态网页更新相对麻烦,适用于一般更新较少的展示类网站。很容易误认为静态页面都是.htm页面。事实上,静态并不是完全静态的。还可以有各种动态效果,如GIF格式的动画、FLASH、滚动字幕等。可以根据不同情况动态变化。通常,动态网站是通过数据库构建的。动态网站除了设计网页外,还需要使用数据库和编程,使网站具有更多的自动化和高级功能。动态网站主体的网页一般以asp、jsp、php、aspx等结尾,而静态网页一般以.html或.htm结尾。动态网站服务器空间配置高于静态网页,成本也相应较高,但动态网页有利于网站内容的更新,适合企业建站。动态是相对于静态网站而言的。现在我们很少看到一些静态的网页,一般的网站都是动态的,可以和用户进行交互。对于静态网页,一旦你用HTML和CSS编写并上传到服务器空间,每个访问你网站的用户都会看到相同的网页。动态网页通常以不同方式显示给每个用户。例如,那些可以注册用户的网站必须是动态网页。因为你登录看到的是自己的信息,别人登录看到的是自己的信息。我们将在后面的课程中介绍数据库,届时我们将对其理解得更加透彻。现在有点头晕是正常的。与客户端不同,服务器端没有语言是强制性的。对于客户端来说,HTML语言是必须的。对于服务器端,我们可以选择适合自己的编程语言来开发。常见的服务器端编程语言有:PHPJavaPythonRubyC#Go除了这6种比较常用的,还有其他的服务器端语言。当然,在之前的课程中也提到过,虽然JavaScript是主流的Web客户端语言,但是现在JavaScript也可以用于Web服务器端的开发,比如Node.js(一种JavaScript运行时环境(runtime))。这6种编程语言我们不能说哪一种更好或更优,只要你习惯了,能用它实现你想要的功能,就足够了。不一定是AK47,一把瑞士军刀也能让你胜在千里之外,没必要“送你走”不是吗?客户端的浏览器无法读取服务器端语言编写的程序,它“看不懂”用Java、PHP等编写的程序。客户端请求一个网页,服务器端编程语言编写的程序生成一个HTML网页,然后返回给客户端。每个客户得到不同的结果。如下图所示:上面我们说过,服务端语言没有好坏之分,只要你用的顺手就可以。不过,我们也可以看看一些大公司喜欢用什么服务器端语言:Google:谷歌,主要用Java、Python和Go。Wikipedia:维基百科,主要使用PHP。Facebook:Facebook,主要使用PHP。稍微了解一下Facebook历史的朋友应该还记得,马克·扎克伯格在哈佛大学用PHP开发了日后Facebook的雏形(当然一开始极其简单)。Microsoft:微软公司,主要使用C#。因为微软要推广自己的C#语言?银行、金融和政府组织的网站:主要使用Java。由于Java相对健壮和稳定(第一个火星探测器Spirit的应用程序代码主要是用Java编写的),这些机构需要既实用又安全的代码。当然,并不是说其他??服务器语言不安全,你也可以用PHP来为银行开发网站。只用Java开发网站似乎已成为这些机构的常态。硅谷的新兴创业公司:主要使用Python和Ruby。虽然这两种编程语言都不是很年轻,但是最近几年却很火(但是Ruby语言已经呈现出没落的趋势)。使用Python和Ruby开发网站非常快速和简单。两种语言上手都比较简单,也很灵活。近年来,Google发布的Go语言也很受欢迎。当然,看完上面的列表,也不要太受影响。我们一般开发网站,选择自己喜欢最方便的服务器语言即可。2、总结决定网站功能的服务器端编程语言PHP、Python、Java、Ruby、C#、Go等。您可以在其中选择您喜欢使用的一个。3.第二部分的第三部分是第三课的预习。今天的课程就到这里,让我们一起努力吧!下一课:网络探索之旅|Part2第三课:框架与内容管理体系我是谢恩铭,公众号“程序员联盟”(微信ID:coderhub)的运营者,MOOC精英讲师Oscar先生,终身学习者。我热爱生活,喜欢游泳,会做饭。人生格言:“直奔目标”
