学习网页前的网页知识储备

声明:本栏目所使用的素材都是凯哥学堂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完成的。

时间: 2024-08-14 11:51:45

学习网页前的网页知识储备的相关文章

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

一静态网页 (1)静态网页概述 在网站设计中,纯粹HTML(标准通用标记语言下的一个应用)格式的网页通常被称为"静态网页",静态网页是 标准的HTML文件,它的文件扩展名是.htm..html,可以包含文本.图像.声音.FLASH动画.客户端脚本和ActiveX 控件及JAVA小程序等.静态网页是网站建设的基础,早期的网站一般都是由静态网页制作的. 静态网页是相对于动态网页而言,是指没有后台数据库.不含程序和不可交互的网页.静态网页相对更新起来比 较麻烦,适用于一般更新较少的展示型网站

离开(关闭)网页前弹出提示

<html><head><title>破碎锤皮碗</title><script language=javascript> var exittxt="源码爱好者";function realexit() {if(exittxt) event.returnValue = exittxt}</script><style> .time{color:#ffffff;font-family:verdana,gene

Qt之WebKit学习之QWebView显示网页与google地图

目录 一:Qt通过地址显示网页 二:Qt调用setHtml方法加载html格式的网页,以加载google地图插件为例. 一.Qt显示网页只要三步 1) 新建QWebView对象:QWebView *view = new QWebView(this); 2) 调用setUrl或load函数设置要显示的网页地址,如load("http://www.baidu.com"); 必须以http://开头: 3)调用show函数显示. 完整代码: webview.h中: #ifndef WEBVI

网页前后端交互示例

对于网页开发而言,网页与服务器之间的数据交互是很频繁的,至关重要的一件事情.但是对于很多的初学者来说,这就成了一个不可逾越的难点问题,本篇博客将从一个初学者的关点讲解其中一种交互方式,此方法经过本人验证有效,并附有代码. 首先要实现网页前后台程序的交互需要安装后台框架,本人安装的框架为wamp(windows+apache+mysql+php).安装程序可以通过我在百度网盘上的分享链接下载http://pan.baidu.com/s/1cIKb8a 提取码是cnfh.至于安装过程中的配置可以参考

阿里知识储备之二——junit学习以及android单元测试

一,junit框架 http://blog.csdn.net/afeilxc/article/details/6218908 详细见这篇博客 juit目前已经可以和maven项目进行集成和测试,而且貌似不需要单独引入junit的组件就可以(maven自身已经引入?) 注意一下以下几个标记 @BeforeClass,@Before,@Test(timeout = 50),@After,@Before,@Test(expected = Exception.class),@After,@Before,

感谢各位亲们的大力支持,免费的HTML5学习课程《HTML5网页开发实例具体解释》连载已经结束了!

感谢各位亲们的大力支持,免费的HTML5学习课程<HTML5网页开发实例具体解释>连载已经结束了.  有兴趣的读者能够看我的博客,也能够看以下的链接逐个学习: 当里个当.免费的HTML5连载来了<HTML5网页开发实例具体解释>连载(一) 免费的HTML5连载来了<HTML5网页开发实例具体解释>连载(二)内容交互 免费的HTML5连载来了<HTML5网页开发实例具体解释>连载(三)DOCTYPE和字符集 免费的HTML5连载来了<HTML5网页开发实

python学习笔记-抓取网页图片脚本

初学者一枚,代码都是模仿网上的.亲测可用~ 运行脚本的前提是本机安装了httplib2模块 #!/usr/bin/python import os import re import string import urllib #author:reed #date:2014-05-14 def GetWebPictures(): url=raw_input('please input the website you want to download:') imgcontent=urllib.urlo

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

接口测试前必需知识了解:1.接口测试的原理: 无论用那种测试方法,接口测试的原理是通过测试程序模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接收应答报文这一个过程. 2.前期知识储备2.1 http知识了解(详见 http://www.blogjava.net/zjusuyong/articles/304788.html 写的很棒!) http端口号 80,不输入默认就是, https端口号 443,基于SSL https加密原理:

微信开发学习 问题1: 网页授权问题 “该连接无法访问” 解决方法

“该连接无法访问” 并不是因为参数的问题 而是因为域名 path问题造成的 使用工具 ngrok 域名地址:jrxwx.ngrok.cc 微信测试帐号 用户授权url是粘贴的 但是还是无法访问: 问题解决步骤:1 微信公众平台-->网页服务 -- > 网页帐号 --  >网页授权获取用户基本信息 修改:内容为域名地址 例如:jrxwx.ngrok.cc 只能是域名地址  2 开发程序: WeixinFinalValue.AUTH_URL 值为https://open.weixin.qq.