一、 web是什么?
可能都听说过一个名词叫做“Web”,这个词隐隐约约好像和我们上网相关,又很难说的清楚。我们今天每位同学都可以通过电脑,手机,平板电脑等设备上网,无论你是用微信,QQ和小伙伴们及时联系,还是用淘宝,京东等购物网站或手机APP选购你钟爱的产品,甚至你在无聊的时候打开浏览器在门户网站上,搜索引擎上查看你关心的新闻,似乎我们的生活每天都被互联网大环境所包围。那么“Web”和这些互联网站或者是手机APP之间到底有什么关联呢?哪些我们见到的应用是“Web”,哪些又不是呢?我们该如何分辨呢?
我们首先来看一下关于“Web”这个单词的官方解释,词条当然来自于度娘。
这种解释好生硬,似乎还是不明白,但是没关系,下面的表现形式有三种:超文本,超媒体,超文本输出协议。这三个到底是什么鬼呢?听我一一解释。
超文本(Hyper Text):文本就是指的是我们在上网的过程中看到的那些文字比如你在起点中文网看到的一篇小说,小说中的文字就是文本,你在新浪等门户网站上看到的一篇新闻报道,新闻报道中的文字就是文本,这里需要注意一点就是,不管你看到的文字是什么语言,中文,英文,日文,韩文,他们就是文本。那么,什么是超文本的,顾名思义,超文本就是提供给用户看的界面不仅仅是文字,也可以看到图片,听到音乐,看到视频,这些很多元素共同构成了超文本的概念。这个概念也可称为超媒体。两个概念可以互换。
超文本输出协议:就是通过互联网中的一个网络协议将这些超文本元素或者超媒体元素把这些元素从网络中带到用户的电脑中,并且呈现在用户面前。一般我们说的这个协议就是http协议,后面我们会详细解释它。
好了,那么让我们用一句话来解释我们玩过的设备中什么应用是Web,记住,就是凡是能够用浏览器打开的网站就是Web.除此之外,其余,凡是需要下载安装的那些应用一律都不是Web。这是最基本的分辨方法。现在就解释清楚了。
二、 Web的架构以及相关技术都有哪些
其实目前在IT互联网众多技术中,有很多技术可以提供同学们学习,你们常常也听到许多技术名词,什么C/C++,JAVA,PHP,.NET,Python,HTML,CSS,JavaScript,Unity3D,MySQL,MSSQL,Oracle等等五花八门的技术让同学们眼花缭乱。想学一门技术吧!又不知道怎么选择,那种技术前途好,那种技术钱途好。关于这些问题,暂不赘述,以后我会专门针对技术学习迷茫的同学写一篇报道或是直播讲解怎么选择。
目前市场上的主流开发方式有两种,C/S或B/S
1) C/S架构(Client/Server,客户端/服务器)
Client就是客户端应用,说白了就是需要下载安装的软件,这个软件和服务器相连接,然后用户使用功能,比如我们大家都玩的QQ,下载安装,我们所有的聊天都是通过网络发送和接受信息。酷我音乐盒下载安装,通过网络获取音乐收听。这种应用就属于Client/Server 。
2) B/S架构(Browser/Server,浏览器/服务器)
Browser就是浏览器,很显然,通过打开浏览器软件,在浏览器的地址栏上输入一个地址,比如说,http://www.baidu.com.那么浏览器就会向所指向的服务器发送一个请求,把服务器上的网站下载到自己的浏览器上面,我们就可以查看了。这个相信绝大多数同学都可以明白。
还有一个问题,就是什么是服务器?有很多同学一想到服务器脑海里就想到很多高大上的高配置电脑,长得各种各样。其中,服务器就是一套电脑。比如我们在寝室和同学打游戏,建立一个房间,就相当于建立了一个服务器,其他同学纷纷进入你的房间,开始对战,那么你的电脑就成了一个服务器。
服务器就是为网络提供服务的电脑。你刚才建立的游戏房间就是一个游戏服务器,为你的同学提供打游戏的服务。你的电脑安装了提供Web服务的软件(IIS),那么你的电脑就变成了Web服务器,把你自己做好的网站放在这个软件下面发布,大家就可以通过你的电脑访问到你的网站了。服务器的种类有很多种:ftp,邮件,视频,数据库等等。只要记住一件事情,服务器没有什么神秘的,凡是一个普通的电脑,安装了提供某种服务的软件,这么你的电脑就变成了一种服务器。我们做Web的工程师主要用的就是Web服务器,后面我会给大家详细解释。
三、 你选择了Web,而不是其它,没有入错行
在这个移动互联网时代,无论是从大环境的国家层面的“互联网”,还是现在几乎所有的企业都需要通过互联网技术进行产业升级。转行。总之,突然一下子。几乎所有的行业对互联网技术开发人才都趋之若鹜。所以,如果你选择了将来从事Web开发,我只能由衷的对你说一句,这可能是对你未来人生中能做出的最对的选择。那么我们Web都设计到那些技术呢!其实说白了,就是分为Web前端和Web后端。如下图所示。
为什么不建议现在再去学习IOS和安卓。首先说从整个世界的技术发展大趋势来看。B/S取代C/S是必然的趋势。安卓应用程序和IOS应用程序就是属于C/S开发。比如说,我要开发一个APP。那么我就需要找一个安卓工程师和一个IOS工程师分别开发两种手机的应用程序。这就需要两个人员成本。而且,APP的版本会不断升级的,凡是手机安装过APP的人都知道,APP升级动辄几十兆,多则几百兆,有WIFI环境的还好说,没有wifi的,那就只能费流量了。但是利用Web技术通过浏览器就不存在这个问题了,不管哪种平台的手机,总有浏览器吧!通过浏览器几乎可以实现任何功能,不管是网购,聊天(微信本质上也是一个浏览器),还是你看新闻。并且并不需要你更新,只需要网站更新,你直接打开浏览器就可以呈现。