• Web探索之旅 | 第二部分第二课:服务器语言


    作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。
    转载请注明出处。
    原文:https://www.jianshu.com/p/30428e6582bb


    《Web探索之旅》全系列

    内容简介


    1. 服务器端语言
    2. 总结
    3. 第二部分第三课预告

    1. 服务器端语言


    上一课 Web探索之旅 | 第二部分第一课:客户端语言 介绍了 Web 的客户端,这一课来谈谈 Web 的服务器端吧。

    既然客户端有客户端的编程语言(HTML,CSS 和 JavaScript),那么服务器端岂能逊色呢,对吧。

    服务器端也有不少种编程语言。这些编程语言写成的程序会在服务器端的电脑上被执行。

    如果说客户端的语言编写的程序决定了我们的网页的外观,那么服务器端的语言编写的程序决定了网页的功能及如何与用户交互。

    你也许会问:“既然我们可以用 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 语言是必须的。对于服务器端,我们可以选择适合自己的编程语言来开发。

    常见的服务器端编程语言有:

    1. PHP
    2. Java
    3. Python
    4. Ruby
    5. C#
    6. Go

    除了这 6 种比较常用的,其他还有一些服务器端语言。当然了,之前的课程也说过,JavaScript 虽然是主流的 Web 客户端语言,但现在 JavaScript 也可被用于 Web 服务器端的开发,如 Node.js(一个 JavaScript 运行环境(runtime))。

    我们不能说这 6 种编程语言里哪一种语言更好更优越,只要你用着习惯,可以用它来实现你想要的功能,那就足够了。不一定非要 AK47,一把瑞士军刀也可以让你决胜千里之外,不必“送你离开”了,不是吗?

    客户端的浏览器是不能读取服务器端语言写的程序的,它“看不懂” Java,PHP 等写成的程序。

    客户端请求网页,服务器端的编程语言写成的程序生成 HTML 网页,然后返回给客户,每个客户得到的结果不尽相同。如下图所示:

    就如我们上述所说,服务器端的语言没有谁好谁不好,只要你用着顺手,都可以。不过,我们也可以来看看一些大公司都喜欢用什么服务器端语言:

    1. Google:谷歌公司,主要使用 Java,Python 和 Go。

    2. Wikipedia:维基百科,主要使用 PHP。

    3. Facebook:脸书,主要使用 PHP。知道一点 Facebook 历史的朋友应该记得马克.扎克伯格在哈佛大学使用 PHP 开发了日后 Facebook 的雏形(当然,一开始极为简单)。

    4. Microsoft:微软公司,主要使用 C#。因为微软要为自家的 C# 语言做推广么。

    5. 银行、金融和政府组织的网站:主要使用 Java。因为 Java 还是比较健壮稳定的(第一个登陆火星的火星车“勇气号”的应用程序代码主要是用 Java 写的),这些机构需要功能强大且安全的代码。当然不是说其他服务器语言不安全,你也可以用 PHP 为银行开发网站。只是用 Java 开发网站貌似已经成为这些机构的惯例。

    6. 硅谷的新兴创业公司:主要使用 Python 和 Ruby。虽然这两门编程语言不是很年轻,但是近几年确实很火(不过目前 Ruby 这门语言已经呈现衰落的趋势)。用 Python 和 Ruby 来开发网站非常快捷方便,这两门语言入门相对简单,也很灵活。最近几年,Google 公司发布的 Go 语言也非常热门。

    当然了,看了上面的列表,不要太被影响。我们一般开发网站,只要选择你最喜欢和最顺手的服务器语言就好。

    2. 总结


    PHP,Python,Java,Ruby,C#,Go 等服务器端编程语言,决定了网站的功能。

    你可以在它们之间选择一种你自己喜欢的来使用。

    3. 第二部分第三课预告


    今天的课就到这里,一起加油吧!

    下一课:Web探索之旅 | 第二部分第三课:框架和内容管理系统


    我是 谢恩铭,公众号「程序员联盟」(微信号:coderhub)运营者,慕课网精英讲师 Oscar 老师,终生学习者。
    热爱生活,喜欢游泳,略懂烹饪。
    人生格言:「向着标杆直跑」

  • 相关阅读:
    poj 2337 欧拉回路输出最小字典序路径 ***
    hdu 4831
    hdu 4832 dp ***
    hdu 4833 离散化+dp ****
    hdu 4006 优先队列 2011大连赛区网络赛F **
    hdu 4005 双联通 2011大连赛区网络赛E *****
    hdu 4004 二分 2011大连赛区网络赛D
    hdu 4003 树形dp+分组背包 2011大连赛区网络赛C
    hdu 4002 欧拉函数 2011大连赛区网络赛B
    跨域经验总结
  • 原文地址:https://www.cnblogs.com/frogoscar/p/13266823.html
Copyright © 2020-2023  润新知