PHP 就是一种常见的用来写处事器剧本的说话,着实只要是能拿来写各人传输数据的通用接口(CGI)的说话都可以用来写处事器剧本(也就是说险些全部编程说话都可以写 = =b),只是由于现成器材的富厚水和善专攻水平纷歧样,以是有一些说话在写处事器端剧本的时辰会较量热点。
为了利便,我们在写处事器剧本的时辰,凡是还会用个同说话写的 Web Framework 来处理赏罚各类细节,防止一些常见的进攻,提供跨站认证(好比用已有的微博账号注册其他网站)的接口,操作cookie处理赏罚登岸状态和用户配置,天生网页模版之类的。假如你用 C# 可能 Visual Basic 写处事器剧本,就可以用 http://ASP.NET 这个框架实现这些成果,帮你省点贫困。不外此刻不少人是反过来为了一个好用的 Web Framework 去选择它对应的处事器剧本说话的。
一个平凡网站会见的进程
简朴归纳综合一下,对付我们平凡的网站会见,涉及到的技能就是:
- 用户操纵赏识器会见,赏识器向处事器发出一个 HTTP 哀求;
- 处事器吸取到 HTTP 哀求,Web Server 举办响应的起源处理赏罚,行使处事器剧本天生页面;
- 处事器剧本(操作Web Framework)挪用当地和客户端传来的数据,天生页面;
- Web Server 将天生的页面作为 HTTP 相应的 body,按照差异的处理赏罚功效天生 HTTP header,发回给客户端;
- 客户端(赏识器)吸取到 HTTP 相应,凡是第一个哀求获得的 HTTP 相应的 body 里是 HTML 代码,于是对 HTML 代码开始理会;
- 理会进程中碰着引用的处事器上的资源(特另外 CSS、JS代码,图片、音视频,附件等),再向 Web Server 发送哀求,Web Server 找到对应的文件,发送返来;
- 赏识器理会 HTML 包括的内容,用获得的 CSS 代码举办外面上的进一步渲染,JS 代码也也许会对外面举办必然的处理赏罚;
- 用户与页面交互(点击,悬停等等)时,JS 代码对此作出必然的回响,添加殊效与动画;
- 交互的进程中也许必要向处事器索取或提交特另外数据(局部的革新,相同微博的新动静关照),一样平常不是跳转就是通过 JS 代码(相应某个举措可能按时)向 Web Server 发送哀求,Web Server 再用处事器剧本举办处理赏罚(天生资源or写入数据之类的),把资源返回给客户端,客户端用获得的资源来实现动态结果或其他改变。
留意这只是小网站里较量常见的模子,大网站为了办理局限题目还会有许多处理赏罚,每个环节城市有一些渺小的差别,中间还会行使各类百般的器材减轻处事器的压力,进步服从,利便一般维护~
延长阅读 —— 那些看花眼的名词
为了利便调试,许多 Web Framework 会自带一个简朴的 Web Server,可能有些 Web Server 会自带一个简朴的 Web Framework ,现实陈设随处事器上开放行使的时辰为了机能可能安详等多方面的思量,可以把内置的 Web Server 换成其他的,好比 Apache 可能 Nginx (举个栗子,知乎用的是 Tornado 做 Framework,Server 换成了 Nginx,见知乎行使了哪些框架和开源库?)。假如是开源的对象,还可以在遵守开源协议的条件下本身改一下再用~
由于后端不像前端已经有 HTML + CSS + JS 这样的既定究竟尺度,处事器剧本与 Web Framework 的选择许多,以是新手会听到许多目眩凌乱的技能名词的处所多在这里~ 举一些栗子,从前常见的处事器端说话有:
- 开源的 PHP
- Sun 公司的 JSP 中行使的 Java
- 微软的 ASP 中行使的 VBScript
此刻在这方面的应用热起来的说话有
- Python,对应常见的 Framework 包罗知乎和Quora有效到的 Tornado(着实是自带 Framework 的 Web Server),社区很成熟的 Django (用户包罗 Instagram、Pinterest)等
- Ruby,一样平常都用 Rails 这个 Framework,用户包罗 Github、早期的 Twitter 等
- 逆天的 JavaScript,有了 Node.js 这个平台,Web Server、处事器剧本和赏识器剧本全都可以用 JavaScript 来写……Node.js上最常用的 Framework是Express
- 微软家的则随着 http://ASP.NET 转移到了C# 可能 Visual Basic
- Erlang,善于大局限的并发,不少游戏公司拿来写处事器,靠几十个工程师支撑几亿用户的WhatsApp也是用的这个~
几种常见的架构包罗:
- LAMP = Linux + Apache + MySQL + PHP(P还也许是Python或Perl。偶然辰L会改成W=Windows。),也就是处事器上的操纵体系是 Linux,Web Server 用 Apache,数据库用 MySQL,处事器剧本用 PHP,这些都是开源技能,网站起步时用起来的本钱会较量低,以是是平凡网站里非经常见的架构(固然对付成长得很大的网站会碰着许多瓶颈),Facebook就是这种,淘宝也曾经是。
- J2EE,Java 天下的架构,凡是是企业用的(银行、大型公司,.etc),较量常见解还会搭配一种 UNIX 做操纵体系,Apache 做 Web Server,Tomcat 转换 JSP 到 Java 给处事器措施用(着实它也自带 Web Server),Oracle 数据库等等。不必然拿来建站,经常用来提供企业里的各类必要用到收集的营业。我们学校教务体系就是用J2EE做的=。= 淘宝此刻也是从LAMP转型到了这个。关于tomcat等之前的文章也有说起情形的设置。
- http://ASP.NET,微软家的架构,凡是会搭配 Windows Server 操纵体系,SQL Server 数据库,IIS 做 Web Server。StackOverflow和京东(曾经)就是这个架构。
- 神奇的MEAN架构,MongoDB做数据库,Express做 Web Framework,Angular 做前端的 JavaScript 框架,Node.js 用于编写 Web Server。神奇之处在于这几个对象的说话都是 JavaScript (MongoDB的实现不是,但与外界雷同用的说话是)。由于是较量新的架构,尚有待时刻的检验,不外被许多人(尤其是靠 JavaScript 用饭的前端措施猿们)热切存眷。
- 一样平常来说重点不在技能并且在乎本钱的新网站较量喜好用 LAMP,重视安详不变和速率的企业和机构喜好 J2EE,想省事的网站喜好 http://ASP.NET,较量 Geek 的网站和创业公司喜好折腾各类 Python、Ruby、Node.js天下的对象,Google 这样现成的技能都办理不了需求的超大型网站就本身折腾办理方案。
(编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|