了解B/S和C/S

前言:。。。。。。“学好长时间编程了,JavaSE学完了,前端也简单学了”。。。。。“那你学这么多,讲讲B/S吧”。。。。。。“B/S?这是个啥玩意?没听过”。。。。。。“靠,牛逼!”。

软件开发两大巨头

B/S和C/S是当今世界的两大主流开发体系。

  • 什么是B/S?

B/S结构(Browser/Server)是浏览器服务器这种开发模式,

就是只安装维护一个服务器(Server),而客户端采用浏览器(Browse)运行软件

  • 什么是C/S?

C/S又称Client/Server或客户/服务器模式。需要做客户端服务器端 。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。

我想看到B/S和C/S的定义,玩过电脑的朋友应该都明白,通俗点说就是像4399小游戏这样运行在浏览器上的软件就是B/S开发模式,像QQ、吃鸡游戏,英雄联盟等软件需要下载客户端软件,这种软件就是C/S开发模式。这个很好理解,没什么可说的。我觉得这不是啥必备的知识点,不牵扯会不会,我也不知道重要不重要,但作为一个程序员,我觉得这应该是个常识吧,就像上厕所要带纸,谈恋爱要趁早。。。。。。。开个玩笑,意思差不多。

基于B/S模式开发

老师之前跟我们说,我们现在学的都是基于B/S模式开发,刚开始我也一脸懵,后来想明白了,为什么这些年微信小程序那么火,还是有道理的。

下面的这张图是我当初理解B/S和C/S后,理解和总结的,对应于生活去理解,我是个90后,记得小时候偷着去网吧玩,网吧电脑上都是些像“血战上海滩”,“红色警戒”等游戏,那个时期,用的最多的就是局域网,用的最多的都是C/S模式开发的软件,知道后来互联网兴起,刚开始能在网页上玩一些小游戏,后来网页上的小游戏也越来越火,好多人都在玩,再发展到今天,微信小程序也是火的飞起,我一直在想,要是有一天,在网页上开发的游戏体验和在客户端下载的游戏体验一样,那B/S模式会不会替代C/S模式,因为B/S模式操作简单,内存占用少,而C/S模式内存占用大,安装复杂,我觉得要真有这么一天,可能。。。。。。

从B/S引出浏览器页面历史

在这穿插一个故事,都说了我们是基于B/S模式开发,既然是B/S,怎能离的开浏览器呢?知识是死的,看书上的官方语句太枯燥,烦人,反正我是不想看,我喜欢听故事,但是很少有人给我讲故事,唉,所以只能听点再自己编点了,我觉得通过故事学到知识,在轻松的环境中学知识,很爽。

《JavaScript的诞生》

早期的浏览器页面很简单,就是用一些HTML和CSS写的,跟上面的图显示的差不多。里面就一些简单的超链接,没有像现在的浏览器页面那样炫酷的东西。后来有一家公司叫Netscape(网景)公司,这家公司不简单,在公司会议中有人提了一个想法,说能不能在浏览器页面上跟客户端的用户有一些交互,这个想法一被提出来,马上引起了公司员工的热议,各种新鲜的想法一跃而出,比如在点那些超链接的时候出现弹框提示等,在那个绝大多数用户都在使用调制调解器上网的时代,用户填写完一个表单点击提交,需要等待几十秒,完了服务器反馈给你说某个地方填错了。。。。。。在当时如果能在客户端完成一些基本的验证绝对是令人兴奋的。但这仅仅是想法,关键是如何去实现呢?不要急,关键的人物出现了,当时就职于网景公司的布兰登*艾奇是个牛人,他回去了后奇思妙想,创新有时候就是在这种奇思妙想中产生的,他搞了几天就搞出一门编程语言,解决了在浏览器客户端与用户交互的问题,没错,这个脚本语言就是JavaScript。这种语言能在网页上和用户产生互动,让用户体验更佳。这个语言出世后很火,可以说是取得了很大的成功。其实这门语言刚出现的时候叫LiveScript,后来网景公司为了搭上媒体热炒的Java顺风车,临时把LiveScript改为JavaScript,所以从本质上来说JavaScript和Java没什么关系。JavaScript 1.0获得了巨大的成功,网景公司随后在Netscape Navigator 3(网景浏览器)中发布了JavaScript 1.1。之后作为竞争对手的微软在自家的IE3中加入了名为JScript(名称不同是为了避免侵权)的JavaScript实现。而此时市面上意味着有3个不同的JavaScript版本,IE的JScript、网景的JavaScript和ScriptEase中的CEnvi。当时还没有标准规定JavaScript的语法和特性。随着版本不同暴露的问题日益加剧,JavaScript的规范化最终被提上日程。

1997年,以JavaScript1.1为蓝本的建议被提交给了欧洲计算机制造商协会(ECMA,European Computer Manufactures Association)该协会指定39号技术委员会负责将其进行标准化,TC39来此各大公司以及其他关注脚本语言发展的公司的程序员组成,经过数月的努力完成了ECMA-262——定义了一种名为ECMAScript的新脚本语言的标准。第二年,ISO/IEC(国标标准化组织和国际电工委员会)也采用了ECMAScript作为标准(即ISO/IEC-16262)。

故事讲完了,有些是自己虚构的情节,不要考量故事的真实性,没意义,能学到知识就好。

B/S和C/S优缺点比较

B/S

C/S

*****************************************************************************************************

我的博客园地址:https://www.cnblogs.com/zyx110/

转载请说明出处

我不能保证我所说的都是对的,但我能保证每一篇都是用心去写的,我始终认同“分享的越多,你的价值增值越大”,欢迎大家关注我的技术分享“Java匹马行天下”和学习心得分享“匹马行天下”,在分享中进步,越努力越幸运,期待我们都有美好的明天!

支持我的朋友们记得点波推荐哦,您的肯定就是我进步的动力。

哥们,B/S了解吗?——啥玩意,我是敲代码的的更多相关文章

  1. CSDN日报20170310——《假如我是一行代码》

    [程序人生]假如我是一行代码 作者:henry-hacker 我们不止一次在生活中听到"假如我如何如何,我会如何如何"的句式.而这种句式说出来的一般意义无非就是让我们站在还有一个角 ...

  2. 我是一只IT小小鸟

    不知不觉中走过了高三的时光,最后也没抓住时间的尾巴,不得不承认自己已经到了大一下学期了.接触了大学生职业生涯规划这门课程,一开始认为学习了这门课程以后就会对自己的未来有一个规划,渐渐的去意识到软件工程 ...

  3. 《我是一只it小小鸟》

    <我是一只it小小鸟>一书虽然内容不多,但里面的故事极其励志,耐人寻味.虽然只花不多的时间阅读这本书,它给我的影响将会伴随一生. 他们是来自不同的院校,或本科,或半路转行:工作在不同的场所 ...

  4. .Net外包篇:我是怎么看待外包的(二)

    延续上篇文章.net外包篇:我是如何看待外包的. 从这家公司辞职以后,得益于我校园信息平台和高校信息管理的经验,我进入了一个互联网类型公司.以前的经历,环环相扣,步步提升. 互联网时代 第四家客户(未 ...

  5. 从联想昭阳到MacBook Pro,致我的那些败家玩意——电脑

    对于程序员来说,你懂的,电脑就是我们的女朋友,在很多层面上,它都是,打游戏.敲代码,以及看影片. 我第一台电脑是联想的笔记本(昭阳系列),花了 4000 多块买的. 那时候,家里很是缺钱,4000 多 ...

  6. 一位资深开发的个人经历 【转自百度贴吧 java吧 原标题 4年java 3年产品 现在又开始做android了】

    楼主2007年从一家天津的三流大学毕业.毕业前报了一个职位培训,毕业后可以推荐工作.因为推荐的公司都是北京的,所以就来北京了. 找了一个月工作,没有找到要我的,就在出租屋里宅了起来,打着考研的旗号,又 ...

  7. 这些年正Android - 大学

     还记得,第一次看见小周是在大一的操场上. 她正向教学楼站着,一身白配粉的休闲上衣搭配湖蓝色的牛仔裤,穿着一双很平凡的凉鞋,手里拿着当年的Nokia 3110c,皙清的手指,素颜的站着不言不笑.现在回 ...

  8. QCustomPlot 使用整理

    QCustomPlot 是一个比较小的 QT 图表插件.使用时,我们在程序中写完相关调用的代码后,只需将 QCunstomPlot.cpp 和 QCustomPlot.h 两个文件加入工程,正常编译即 ...

  9. 怎么进入BAT的研发部门?

    怎么进入BAT的研发部门? ======================================剑指offer+leetcode+geeksforgeeks+编程之美+算法导论====秒杀BA ...

随机推荐

  1. Linux下的wfopen(手工打造)

    Of Linux on wfopen (open wide-character version of the file name and mode) to achieve Not directly a ...

  2. 配置QSslConfiguration让客户端程序跳过本地SSL验证

    大家下午好哦.今天我们在重新制作我们萌梦聊天室的时候,出现了这样的问题.那就是我们的客户端能够对qtdream.com服务器进行登录,但是不能对localhost服务器(也就是本机啦)进行登录.这究竟 ...

  3. Centos7安装Mysql-最方便、最快捷

    你想在Linux操作系统安装Mysql?你不想去官网下载再复制?,那就来看看我的方案,简单.快捷轻松安装.使用. 首先,检查安装情况         1.查看有没有安装过:           yum ...

  4. 上不了名校?可以在 GitHub 上读他们的课程

    今天开始,全国各大区域的高考成绩陆续公布,又到了几家欢喜几家愁的时刻,如果你准备报考计算机相关专业,但是又由于分数不高而苦恼.别担心,在 GitHub 上有着大量的名校教学资源,即使上不了名校,也可以 ...

  5. python三大主流web框架之Django安装、项目搭建

    这一篇我们将迎来python强大的web框架Django,相信大家都已经不陌生,本篇将介绍Django的安装及基础项目搭建,大神略过~ Django是需要我们手动pip安装的,首先我们来安装Djang ...

  6. Django之F、Q查询,事务,自定义char字段

    F查询 from django.db.models import F,Q # 当查询条件来自于数据库的某个字段,这个时候就必须使用F # 查询卖出数大于库存数的商品 res = models.Prod ...

  7. Jenkins与RocketChat集成

    Jenkins与RocketChat集成 在Jenkins中安装插件RocketChat Notifier 配置信息 点击Jenkins左侧的系统管理-->系统设置, 找到Global Rock ...

  8. Input标签中Type的类型及详细用法

    Input表示Form表单中的一种输入对象,其又随Type类型的不同而分文本输入框,密码输入框,单选/复选框,提交/重置按钮等,下面一一介绍.1,type=text输入类型是text,这是我们见的最多 ...

  9. SCUT 130:对抗女巫的魔法碎片(贪心)

    https://scut.online/p/130 130. 对抗女巫的魔法碎片 题目描述 光明世界的一个国家发生动荡,女巫利用了邪恶的力量将国家的村庄都施下了咒语,好在国家还有英勇的士兵,他们正义的 ...

  10. web前端css(一)

    一  css的引入方式: 1)    行内样式:     <p style=”color: green”>我是一个段落</p> 2)    内接样式: <style ty ...