内容简介

1第二部分第二课:服务器语言

2、第二部分第三课预告:框架和内容管理系统


第二部分第二课:服务器语言

介绍了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语言是必须的。对于服务器端,我们可以选择适合自己的编程语言来开发。

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

  1. PHP

  2. Java

  3. Python

  4. Ruby

  5. C#

除了这5种比较常用的,其他还有一些服务器端语言。

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

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

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

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

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

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

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

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

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

  6. 硅谷的新兴创业公司:主要使用Python和Ruby。虽然这两门编程语言不是很年轻,但是近几年确实很火。而且用它们来开发网站非常快捷方便,这两门语言入门也相对简单,也很灵活。

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


总结

  1. PHP,Python,Java,Ruby,C#等:服务器编程语言,决定了网站的功能。你可以在它们之间选择一种你自己喜欢的。


第二部分第三课预告

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

下一课我们学习:框架和内容管理系统


程序员联盟 微信公众号

*您若觉得本文不错,请点击画面右上角《···》按钮分享

*新朋友请关注「程序员联盟」微信搜公众号  ProgrammerLeague

程序员联盟官网:

http://coderunity.com/

小编微信号: frogoscar

小编邮箱:    enmingx@gmail.com

小编QQ号:  379641629

程序员联盟QQ群:413981577

程序员联盟微信群:先加我微信

头条网自媒体“程序员联盟”:

http://www.toutiao.com/m3750422747/

小编的51CTO博客,CSDN博客,博客园,新浪博客和开源中国博客
http://4526621.blog.51cto.com

http://blog.csdn.net/frogoscar

http://www.cnblogs.com/frogoscar

http://blog.sina.com.cn/frogoscar

http://my.oschina.net/frogoscar/blog

【打赏小编】

觉得文章对您有帮助,请纪念小编的辛勤劳动,扫描二维码打赏小编,谢谢!

支付宝

Paypal

【Web探索之旅】第二部分第二课:服务器语言的更多相关文章

  1. 【Web探索之旅】第三部分第一课:服务器

    内容简介 1.第三部分第一课:服务器 2.第三部分第二课预告:IP地址和域名 第三部分第一课:服务器 大家好,欢迎来到[Web探索之旅]的第三部分.这一部分有不少原理,还是很重要的. 这一部分我们会着 ...

  2. 【Web探索之旅】第三部分第一课:server

    wx_fmt=jpeg" alt="0? wx_fmt=jpeg" style="height:auto"> 内容简单介绍 .第三部分第一课:s ...

  3. 【Web探索之旅】第四部分:Web程序员

    内容简介 1.第四部分第一课:什么是Web程序员? 2.第四部分第二课:如何成为Web程序员? 3.第四部分第三课:成为优秀Web程序员的秘诀 第四部分:Web程序员(完结篇) 大家好.终于来到了[W ...

  4. 【Web探索之旅】第一部分:什么是Web?

    内容简介 1.Web探索之旅:开宗明义 2.第一部分第一课:什么是Web? 3.第一部分第二课:Web,服务和云 4.第一部分第三课:Web的诞生史 Web探索之旅:开宗明义 大家好. 我们这个系列课 ...

  5. 【Web探索之旅】第三部分第二课:IP地址和域名

    内容简介 1.第三部分第二课:IP地址和域名 2.第三部分第三课预告:协议 第三部分第二课:IP地址和域名 上一课我们说了在Web之中,全球各地有无数台机器,有些充当客户机,有些作为服务器. 那么这些 ...

  6. 【Web探索之旅】第二部分第三课:框架和内容管理系统

    内容简介 1.第二部分第三课:框架和内容管理系统 2.第二部分第四课预告:数据库   第二部分第三课:框架和内容管理系统 上一课我们介绍了服务器端的编程语言,有PHP,Java,Python,Ruby ...

  7. 【Web探索之旅】第二部分第一课:客户端语言

    内容简介 1.第二部分第一课:客户端语言 2.第二部分第二课预告:服务器语言 第二部分:Web编程语言和工具 大家好.上一个部分我们学习了Web的一些基本概念: 什么是Web? Internet和We ...

  8. 【Web探索之旅】第三部分第三课:协议

    内容简介 1.第三部分第三课:协议 2.第四部分预告:Web程序员 第三部分第三课:协议 之前的课,我们学习了Client-Server模型的客户端语言和服务器语言. 客户端语言有HTML,CSS和J ...

  9. 【Web探索之旅】第二部分第五课:响应式网站和移动应用

    内容简介 1.第二部分第五课:响应式网站和移动应用 2.第三部分第一课预告:服务器 第二部分第五课:响应式网站和移动应用 在我们开始聊响应式网站之前,我们可以聊聊移动App(App是Applicati ...

随机推荐

  1. password加密问题

    password加密问题 个人信息:就读于燕大本科软件project专业 眼下大三; 本人博客:google搜索"cqs_2012"就可以; 个人爱好:酷爱数据结构和算法,希望将来 ...

  2. UVa 10188 - Automated Judge Script

    题目:给你一些题目的输出结果,推断是AC,PE还是WA. 分析:模拟. 依照题意模拟就可以,注意PE条件为全部数字字符出现顺序同样就可以. 说明:想起非常多年前写的OJ的后台判题程序了╮(╯▽╰)╭. ...

  3. MFC模态对话框的消息循环

    MFC模态对话框的消息循环 单线程程序, 当主窗口响应函数中弹出模态对话框时,为什么主窗口响应函数可能照常工作? 当弹出模态对话框时,线程的消息循环无法返回,父窗口的事件本应没人处理,应该处于卡死状态 ...

  4. cocos2d-x(十二)Lua开发飞机大战-7-加入敌机

    Lua本是一门面向过程的解释性语言.但在开发过程中有很多人还是习惯于面向对象编程.在Lua中我们能够使用table模拟类.只是写起来不太爽(特别是在继承一些C++类的时候).通过查看演示样例.发现co ...

  5. http://www.shengshiyouxi.com

    android从Linux系统启动有4个步骤:   (1) init进程启动   (2) Native服务启动   (3) System Server,Android服务启动   (4) Home启动 ...

  6. 手机装linux系统

    第一步: 首先 , 你的手机需要获取root权限. 如果不知道如何获取, 可以到电脑上搜索一下安卓手机root教程. 不同品牌的手机root的方法不同. 也可以到机锋论坛上寻找root的具体方法. 第 ...

  7. linux上svn连接visual svn server时ssl鉴权失败,问题解决(转)

    场景:1.在windows 7上安装了visual svn server作为自己的svn服务器. 2.在虚拟机centos 6.3上使用svn客户端check代码,报错: [plain] view p ...

  8. 获取不同机型外置SD卡路径

    /** * 运行挂载命令.返回挂载的地址.然后将地址解析 */ private void getExtSDCardPath() { try { Runtime runtime = Runtime.ge ...

  9. Java如何检查List<String> 里是否有想要的字符串?

    List<String> test = new ArrayList<String>(); test.add("a"); test.add("b&q ...

  10. linux--关于shell的介绍

    下面是最近学习shell的一些知识点总结***博客园-邦邦酱好*** 1.什么是shell(1)Shell将我们输入的指令与Kernel沟通,好让Kernel可以控刢硬件来正确无误地工作.(2)我们总 ...