WEB开发第一章:概述

表达能力有限,敬请指正。-- 躁动的石头

序言

回想我的旅程,我认为对于初入这一行业的程序员来说,最破解的不是学习知识,而是搭建起一整套的互联网行业的模型。这个模型必定很粗糙,它存在的目的在于帮助新手正确的树立 web 开发甚至于软件开发的世界观,随后的细化才是深入的学习,也是成长的旅程。

B/S

从最广义的范围来讲,web 开发是基于B/S架构(在这个链接里你会看到 C/S 的结构,app 就是使用的这种结构)也就是 浏览器/服务器 模型,简单流程如下:

  • 浏览器向服务器发送请求
  • 服务器接收到请求,并返回数据

这就是整个 web 开发的基石。

ps:浏览器还是 chrome(谷歌浏览器) 好,开发必备。严重唾弃 IE

那么接下来要说的是

浏览器与服务器的碰撞

服务器的本质就是电脑。就像你买一台电脑用来玩游戏,他买一台电脑用来办公,公司买一台电脑来当服务器供用户通过浏览器来访问。

人多了要沟通,就要取名字,电脑多了要沟通,就要有 IP
电脑不一定有 IP, 但是要想上网,则必须有 IP。一般来说 IP 是运营商提供给你的。

IP 确实能够唯一标识一台电脑,如果你看过百科就知道,IP 其实很不方便记忆的,所以,就有了别名:域名。你看 www.baidu.com 是域名,你可以通过在浏览器输入 http://www.baidu.com 来访问百度,但是你肯定不知道在浏览器输入 115.239.211.112 也可以访问百度。看吧,浏览器会解析你的输入,看看你输入的是 IP 还是域名,如果是 IP 就直接访问,如果是域名,那么就查找专门的域名解析服务器上,查找域名对应的IP,再去请求服务器(使用 IP 肯定是速度快的,但是为了方便记忆,还是域名用的多,这就是效率与方便之间的妥协,以后你会碰到很多次的)。

浏览器与服务器之间交流方式

如果你细心的话,会发现,上面我提到的是 http://www.baidu.com 而不是 www.baidu.com 。那么这两者之间有什么区别吗?对于访问来说确实问题不大,两者都能访问到百度。只是在访问时,浏览器会把 www.baidu.com 转化为 http://www.baidu.com

http是一个很重要的协议,如果你真的要做开发,那么这是一道绕不过去的槛。然而对于新说来说,要学习的太多,你现在只需要知道它就好了,要详细了解,以后有的是时间。

简单的来说,http 定义了浏览器和服务器之间如何进行沟通(注意不是沟通的内容)。

前端语言

上面的都弄好了,那么接下来就需要一种语言来维护双方的交流了。这里面最重要的就是著名的 WEB 开发三剑客-HTML、CSS、JavaScript(简称js)了。这些统称为前端语言,也是浏览器和服务器交流的基础。也就是说在浏览器与服务器交互中,通过 HTTP 协议,服务器向浏览器传递的就是这些东西。

详细的知识还是要新手自己去学的,我这里只是简单的说一下他们的作用。就像画画一样, HTML 组成了页面的骨架, CSS 来给页面精雕细琢(典型的行为是上色), JavaScript 负责让页面动起来,也就是实现其中的动画效果。

服务器

服务器的功能就是就是根据用户的请求,返回相应的 HTML、CSS 、JS(这些都是要前端工程师来完成的),而实现哪些功能,就是后端开发工程师来做的。至于如何实现,那就要看用哪种语言了,现在的后端语言有很多像C、C++、Java、PHP、Python等,语言的优劣暂且不评述,不过 PHP 在 WEB 页面的快速开发方面有时很大。
然而,服务器是一个很复杂的事情,详细的叙述就不再本章的范围之内了。新手在这里碰到的一个很常见的问题就是搭建本地环境。

总结

这里的总结模型是不完全准确的:

屏幕快照 2017-05-15 下午4.31.36.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 名词延伸 通俗的说,域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易的找到你。如果把IP地址比作一间房子...
    杨大虾阅读 20,664评论 2 56
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,273评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,667评论 25 709
  • 反脆弱第十六章塔勒布讲到游戏的价值,说到游戏领域如牌局,事先会有明确的游戏规则,而在生态领域,在这里我们不知道规则...
    周建雄key阅读 403评论 4 1
  • #pragma mark---------- 1、画线 *步骤 (1)CGContextRef上下文(相当于画板)...
    磊CC阅读 155评论 0 1