0,Web基础

一、    What is the Web? Can It Eat?

很多同学可能都听说过一个名词叫做“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技术通过浏览器就不存在这个问题了,不管哪种平台的手机,总有浏览器吧!通过浏览器几乎可以实现任何功能,不管是网购,聊天(微信本质上也是一个浏览器),还是你看新闻。并且并不需要你更新,只需要网站更新,你直接打开浏览器就可以呈现。方便易用。所以。我们同学们今天要学习的是Web技术。而不是在那些淘汰的安卓和IOS。

(0)写给Web初学者的教案-----Web基础的更多相关文章

  1. (1)写给Web初学者的教案-----学习Web的知识架构

    1:学习Web的知识架构 前文中我们简单的介绍了一些关于Web的基本知识,这里任老师再次强调一下凡是用浏览器打开的网站我们就称之为Web应用程序(B/S结构).除此之外其它需要下载安装的软件或是手机  ...

  2. (2)写给Web初学者的教案-----让我们开始准备学习

    课前准备 我们将会从零基础带领大家一步一步的学习Web前端技术,这个零基础是什么概念呢?你只要具备以下技能就可以学习: 一.个人学习条件(必备) 会开关电脑,手机.(哇塞,任老师你逗我们吧!). 会打 ...

  3. 【转载】.NET面试题系列[0] - 写在前面

    原文:.NET面试题系列[0] - 写在前面 索引: .NET框架基础知识[1] - .NET框架基础知识(1) http://www.cnblogs.com/haoyifei/p/5643689.h ...

  4. 一个web初学者的笔记总结

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px "PingFang SC" } p.p2 { margin: 0.0px ...

  5. 05、NetCore2.0依赖注入(DI)之Web应用启动流程管理

    05.NetCore2.0依赖注入(DI)之Web应用启动流程管理 在一个Asp.net core 2.0 Web应用程序中,启动过程都做了些什么?NetCore2.0的依赖注入(DI)框架是如何管理 ...

  6. 【HTTP】Speed and Mobility: An Approach for HTTP 2.0 to Make Mobile Apps and the Web Faster

    This week begins face to face meetings at the IETF on how to approach HTTP 2.0 and improve the Inter ...

  7. VS中,添加完Web引用(WebServer引用/Web服务引用),写代码时引用不到

    VS中,添加完Web引用(WebServer引用/Web服务引用),写代码时引用不到 添加完之后要等一会儿 等一会儿 等一会儿 就有了

  8. 转 web项目中的web.xml元素解析

    转 web项目中的web.xml元素解析 发表于1年前(2014-11-26 15:45)   阅读(497) | 评论(0) 16人收藏此文章, 我要收藏 赞0 上海源创会5月15日与你相约[玫瑰里 ...

  9. Rest风格WEB服务(Rest Style Web Service)的真相

    http://blog.csdn.net/jia20003/article/details/8365585 Rest风格WEB服务(Rest Style Web Service)的真相 分类: J2E ...

随机推荐

  1. ORACLE获取字符串中数字部分

    ') from dual; select regexp_replace('23456中国3-00=.,45','[^0-9]') from dual;标签:regexp_replace regexp ...

  2. Eclipse寻找JVM的机制

    Eclipse寻找JVM的机制 查看当前用了哪个jvm的方法: Help->About Eclipse -> Installation Details ->Configuration ...

  3. canvas粒子时钟

    前面的话 本文将使用canvas实现粒子时钟效果 效果展示 点阵数字 digit.js是一个三维数组,包含的是0到9以及冒号(digit[10])的二维点阵.每个数字的点阵表示是7*10大小的二维数组 ...

  4. 语句 if else

    语句 语句是指程序命令,都是按照顺序执行的.语句在程序中的执行顺序称为“控制流”或“执行流”. 根据程序对运行时所收到的输入的响应,在程序每次运行时控制流可能有所不同. 语句间的标点符号必须是英文标点 ...

  5. 模拟java的split函数,分割字符串,类似于java的split方法

    /*自定义oracle的分割函数*//*定义一个type,用户接收返回的数据集合类型*/create or replace type splitType as table of varchar2(40 ...

  6. ECMAScript 6 笔记(六)

    编程风格 1. 块级作用域 (1)let 取代 var (2)全局常量和线程安全 在let和const之间,建议优先使用const,尤其是在全局环境,不应该设置变量,只应设置常量. const优于le ...

  7. Oracle VS DB2 数据类型

    =========================Oracle VS DB2==================================== 本文转自:http://www.bitscn.co ...

  8. JAVA函数的重载

    一.什么是重载(overlording) 在JAVA中,可以在同一个类中存在多个函数,函数名称相同但参数列表不同.这就是函数的重载(overlording).这是类的多太性表现之一. 二.重载的特征: ...

  9. 转自scutan 常用的Linux编程库

    库                       头文件                       描述libGL.so                                        ...

  10. 解决maven 下载 hadoop-client 客户端 报错的问题

    第一.pom.xml配置: <dependency> <groupId>org.apache.hadoop</groupId> <artifactId> ...