2019独角兽企业重金招聘Python工程师标准>>>

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。

两种程序架构介绍:

1.C/S架构(客户端/服务器):此种架构的特点在于通过调用客户端的相关硬件让客户端进行一系列的音频视频处理等,以达到程序想要的绚丽效果,而服务器则只需要负责和客户端传输数据即可,这样就减轻了服务器的压力。所以这需要用户在客户端下载相关程序才能办理业务。但是这种架构的程序更新起来会很麻烦,因为一台服务器可能连着成千上百万的客户端,一旦服务器更新了,那么与它相连的客户端上的程序也需要一起更新,客户端上面也会有一些验证、信息处理等操作,这就导致更新会很麻烦,如果网速不好会导致更新时间过长,而在更新期间又不能使用,这就大大影响了用户处理业务。所以此种架构比较适合做大型的游戏,如英雄联盟,而并不适合做一些涉及到购物、信息部分的软件和管理软件,如联通、银行的缴费系统。总结此架构的优缺点如下:

1.1优点:

1.1.1可以减轻服务器压力

1.1.2可以调用本地的一些硬件设备如打印机、串口等

1.1.3可以实现绚丽的特效

1.2缺点:

1.2.1更新很麻烦

1.2.2设备需要提前安装

2.B/S架构(浏览器/服务器):此架构不需要下载什么客户端,直接在浏览器上输入地址即可,只要有浏览器即可。所以浏览器就相当于一个页面解析器,浏览器上显示的页面内容(如页面结构、素材等)全部都是从服务器上下载下来的,页面每刷新一次就会重新从服务器上下载页面数据,这便没有什么更新不更新的说法了,但是服务器压力也会很大。但有的为了减轻服务器的压力就会将素材中如照片缓存到本地中,后面每次刷新照片就不再重新下载了。此种架构适合做一些信息的软件但是无法做大型游戏,因为大型游戏需要的就是那种绚丽的效果,此种程序架构很难实现。总结此架构的优缺点如下:

2.1优点:

2.1.1页面上的内容都是从服务器上下载下来的,没有更新这一说

2.1.2只要刷新就能看到最新的内容

2.2缺点:

2.2.1大型网游或者有很多临时文件要下载的情况下浏览器都会受不了

2.2.2很难访问本地的硬件设备,如果真要访问会很麻烦

2.2.3服务器压力很大

3.B/S架构的好处:现如今网页无处不在,很多软件都是采用做一个APP壳子,然后某些部分是嵌入网页的形式来开发软件的。比如QQ,QQ的什么安全设置,空间动态等其实就是网页,再比如微信中点开公众号里面的文章,其实就是打开了一个网页。这样开发可以节省一部分的人力财力,试想一个软件只修改了一点点的内容就要更新下载,这样会需要用到大量的人力和财力,但如果是嵌入网页进去,如果网页内容改变了,用户只需要重新登录或者刷新一下就可以看到最新的内容了。

浏览器解析网页的流程:

1.浏览器内核:浏览器其实就是解析器,用来解析标记的。我们用到的浏览器多种多样,如IE、火狐、2345等等,但看似有这么多的浏览器,其实很多浏览器用到的内核是一样的,下面介绍几个目前较为流行的浏览器内核及其对应的浏览器:

2.解析流程:

2.1文解:

2.1.1服务器上主要有页面结构(标记代码)、素材、JS和CSS、逻辑这些内容,其中除了逻辑,其他都是可以供浏览器下载的。我们在网页上输入一个地址后,DNS域名解析系统会解析域名,得到一个IP地址;

2.1.2浏览器根据这个IP地址携带着请求的路径和客户端信息(如浏览器的版本,操作系统的版本,所用的语言等)去访问服务器,这时服务器并不是立刻把所有的内容都给浏览器下载下来,而是先让浏览器下载页面结构也就是标记代码部分。浏览器接受标记后会马上进行解析,这时网页的大体框架就出来了;

2.1.3如果浏览器在解析过程中碰到素材如照片需要下载时,才会去请求服务器下载素材,有的浏览器为了减轻服务器的压力,会将这些素材缓存到本地,我们平时用360清理浏览器的垃圾其实就是清理这些缓存。所以此处,如果浏览器有这项操作,那么浏览器在请求下载素材时会先去问问本地缓存里有没有,没有再去请求服务器下载,如果浏览器没有这项操作则是直接去请求服务器下载素材,有一张照片就请求一次服务器下载一次,有几张照片就请求几次服务器下载;至此解析结束。

2.2图示如下:

为了防止浏览器在根据IP地址访问服务器时中间会有恶意的拦截导致隐私泄露不安全,发展了两个协议:http和https。如果是https则说明是加密的,安全性可以得到保障,一般设计到金融的网站都会是https。

我们接下来要学的网页技术介绍:

1.HTML5(标记):这个其实就是上述解析流程中的标记代码部分,负责搭建一个网页页面结构。HTML有版本之分,4和5的版本区别有点大,5相对4来说,抛弃了一些过时的标记,我们要学的就是5版本。

2.JS(脚本):它其实也是一种编程语言,只不过是在浏览器中运行的。它主要负责异步的数据加载和简单的逻辑运算(主要的逻辑运算还是由逻辑部分完成)。

3.CSS(样式表):适用于给每个标记调外观,主要负责网页的简单动作、色彩效果以及绚丽的效果。

4.以下图凯哥学堂的网页为例:整个页面大体的框架结构是由HTML来完成的,而字体效果,各种图片等则是由素材和CSS3完成的,而漂浮着的一些广告、窗口什么的则是由JS完成的。

转载于:https://my.oschina.net/kaige123/blog/1541874

学习网页前的网页知识储备相关推荐

  1. 小猪的Python学习之旅 —— 1.基础知识储备

    小猪的Python学习之旅 -- 1.基础知识储备 引言: (文章比较长,建议看目录按需学习-) 以前刚学编程的时候就对Python略有耳闻,不过学校只有C,C++,Java,C#. 和PHP有句&q ...

  2. 学习Linux前必备专业知识

    学习Linux前必备专业知识 glibc库文件 应用程序 库 内核 硬件 GNU提供程序/Linux内核 POS库兼容 Portable Operating System POSIX Linux 遵循 ...

  3. python bif_小猪的Python学习之旅 —— 1.基础知识储备

    引言:(文章比较长,建议看目录按需学习-) 以前刚学编程的时候就对Python略有耳闻,不过学校只有C,C++,Java,C#. 和PHP有句"PHP是最好的语言" 这种家喻户晓的 ...

  4. 设计师:平面设计师、网页设计师、服装设计师、动画/3D设计师、UI设计师等设计师简介(工作内容、方向,知识储备)

    设计师:平面设计师.网页设计师.服装设计师.动画/3D设计师.UI设计师等设计师简介(工作内容.方向,知识储备) 目录 设计师简介(工作内容.方向,知识储备) 平面设计师 网页设计师

  5. 接口测试学习入门(1)--前期知识储备

    转自:http://www.cnblogs.com/alwayswyy/p/5481574.html 接口测试学习入门(1)--前期知识储备 接口测试前必需知识了解: 1.接口测试的原理: 无论用那种 ...

  6. Python:Python语言的简介(语言特点/pyc介绍/Python版本语言兼容问题(python2 VS Python3))、安装、学习路线(数据分析/机器学习/网页爬等编程案例分析)之详细攻略

    Python:Python语言的简介(语言特点/pyc介绍/Python版本语言兼容问题(python2 VS Python3)).安装.学习路线(数据分析/机器学习/网页爬等编程案例分析)之详细攻略 ...

  7. Java Web学习(2):静态网页与动态网页

    一静态网页 (1)静态网页概述 在网站设计中,纯粹HTML(标准通用标记语言下的一个应用)格式的网页通常被称为"静态网页",静态网页是 标准的HTML文件,它的文件扩展名是.htm ...

  8. 计算机设计网页基础知识,网页设计的基础知识

    一. 网页设计的基础知识. 伴随着计算机和网络技术的迅猛发展,互联网网站渗透到全球给个领域,已经已经彻底改变了人们的工作,学习和生活方式.用户可以随时从网上了解所需的各种资讯,如天气,新闻,旅游等,也 ...

  9. python 静态网页_Python静态网页爬虫相关知识

    想要开发一个简单的Python爬虫案例,并在Python3以上的环境下运行,那么需要掌握哪些知识才能完成一个简单的Python爬虫呢? 爬虫的架构实现 爬虫包括调度器,管理器,解析器,下载器和输出器. ...

最新文章

  1. leetcode算法题--三角形最小路径和
  2. 球迷福利!Next VR本周将直播三场ICC比赛
  3. SAP ABAP ALV(LVC)的一个自定义事件(F4帮助事件,回车ENTER按钮事件)的一个实例
  4. 【洛谷】P2179 [NOI2012]骑行川藏
  5. SharePoint 站点结构及概念
  6. python数组遍历输出所有组合_python遍历列表和数组实例讲解
  7. python算法的基本原理_kNN算法基本原理与Python代码实践
  8. Asp.net 2.0生命周期
  9. python输出间隔_在python中生成间隔之间的月份列表
  10. java 快速删除文件夹_java File删除文件夹完整版
  11. 中国车机行业竞争态势与未来发展策略分析报告2022-2028年
  12. 大数据求中位数(插值计算)
  13. QQ音乐解析API,支持搜索、歌单、单曲、专辑、MV解析、多音质切换
  14. 前端实现数据base64解码
  15. iPhone无法联网问题
  16. 【Trick】调优方法warmup
  17. 网桥与交换机的区别,以及和中继器,集线器 之间的联系及各自的功能
  18. c语言macro pdf,C语言的宏macro的使用
  19. 为什么外链建设对于谷歌SEO至关重要?
  20. 将来是多久,看一看大佬的故事--《绝非偶然》

热门文章

  1. PostgreSQL环境变量
  2. 物理知识(量子物理)
  3. Apache 与 Tomcat 整合
  4. 【PostgreSQL-9.6.3】设置log参数
  5. TCP/IP协议损坏解决方法:
  6. Scala官网下载不下来问题-已解决
  7. 如何从JQuery中的each()函数中断/退出? [重复]
  8. Win11任务栏不重叠怎么设置,Win11任务栏不重叠设置方法
  9. SpringMVC配置任何类型转换器 Converter(以时间类型为例)
  10. vsftp匿名访问目录_怎么更改vsftp匿名用户的默认登录目录/var/ftp?