网络科学
IB 计算机科学课程中的选修课 C。
通常情况下,互联网、因特网和万维网 (也称为网络) 常常被混淆。然而,它们实际上截然不同。
C.1.1 区分互联网和万维网 (网络)。
因特网简单地指的是一组互联的网络。互联网指的是利用包括 IP 地址在内的标准化通信协议的全球计算网络。换句话说,互联网是一个覆盖整个地球的广域网[1]。万维网 (网络)是由各种网络资源组成的信息空间,可以通过互联网访问。换句话说,万维网是在互联网上运行的一项服务。
可以类比说互联网是一家餐厅,而网络是它最受欢迎的一道菜。
C.1.2 描述网络如何不断发展。
总的来说,网络的变化可以概括为从个人网站到博客,或从发布到参与的转变。它从静态页面转向了动态页面。
有时被称为 "Web 1.0",网络的早期阶段,个人和静态网页托管在 ISP (互联网服务提供商) 的网络服务器上或免费的网络托管服务上。在 Perl、PHP 和 Python 等动态编程语言出现之前,一些设计元素包括:在线留言簿而不是评论区,以及 HTML 表单为 mailto 表单。
Web 1.0 与 Netscape 的商业模式相关联 - 专注于软件创建、更新和错误修复,并将这些软件分发给最终用户。
Web 2.0指的是一个强调用户参与和贡献的网络,例如社交媒体网站和博客。它以 Ajax 和 JavaScript 等客户端技术以及动态编程语言为特色。对用户界面、应用程序软件和文件存储的关注被称为 "网络即平台"。Web 2.0 的关键特征包括
- Folksonomy - 对信息的自由分类 (如标记)
- 用户参与 - 网站用户被鼓励为网站增加价值/内容
- 大众参与 - 普遍的网络访问导致了用户群关注度的差异化
- SaaS (软件即服务)
与 Web 1.0 相比,Web 2.0 与 Google 相关联,Google 的重点不是创建最终用户软件,而是提供基于现有数据的服务。
语义网络是通过万维网联盟 (W3C) 的标准扩展的,它促进了通用数据格式和交换协议的统一性。例如,资源描述框架 (RDF) 规范被推广为一种通用方法,用于使用主语-谓语-宾语表达式 (例如,主语:"桌子",谓语:"长度为",宾语:"一米") 对网络资源进行概念建模。
C.1.9 解释协议和标准在网络中的重要性。
协议是一组通信规则,确保特定成功过程发生时能够进行正确、兼容的通信,例如TCP/IP。协议确保网络的普遍性。另一方面,标准是一组技术规范,应遵循这些规范以实现功能,但不必为了获得成功过程而必须遵循,例如HTML。如果没有它们,就相当于在不知道外语的情况下用外语交流。
例如,如果没有TCP,将没有传输协议,数据包将会丢失。
例如,如果没有HTML,将没有用于显示网页的标准脚本语言,不同的网络浏览器可能无法显示所有页面[2]
C.1.12 解释浏览器的功能。
一种用于检索、呈现和遍历网络上信息资源的软件工具。
C.1.7 识别以下特征:IP、TCP 和 FTP。
TCP 和 IP 共同组成一套协议,执行网络的基本功能。
IP 是一种网络协议,定义数据包的地址路由[1]。每台计算机都拥有唯一的 IP 地址,IP 确保将所有数据传送到目的地。
通过互联网发送的信息会被分解成 "数据包",并通过不同的路由传送到目的地。TCP 创建数据包,按正确顺序将它们重新组合在一起,并检查是否有数据包丢失。'
FTP 是一种协议,它提供通过网络共享或复制文件的方法。它主要用于将文件上传到网站,某些下载网站也可能使用 FTP 服务器。但是,HTTP 更常用于下载。使用 FTP 时,URL 将以 ftp:
形式显示。
C.1.3 识别以下特点:HTTP、HTTPS 和 URL。
HTTP 是一套用于在 Web 服务器和 Web 浏览器之间通信的特定互联网协议。HTTP 是一种基于文本的协议,因为每个新的用户请求都需要建立一个新的连接,并且在没有通信网络知识的情况下进行通信。
由于 HTTP 没有提供太多安全保障,因此开发了 HTTPS 并使用传输层安全 (TLS) 或安全套接字层 (SSL) 向连接添加了加密。
指定网页位置的标准方法。[1]
统一资源标识符 (URI)
标识网站上特定网页的一种方法。
C.1.4 识别以下特点:统一资源标识符 (URI) 和 URL。
URL 具有 URI 中的典型特征。
例如,URL htt, p://example.com/page/resource
,具有地址,
n 协议标识用于检索
r http,资源名称为 example.com 以及一个特定文件名。
C.1.5 描述 URL 的目的。
URI 是标识资源的字符串。URL 是一种特定类型的 URI,它提供 Web 资源的地址以及检索资源的方法。例如,http://example.com/index
标识http
用于检索的协议,example.com
作为地址,以及特定文件 /index
。
C.1.6 描述域名服务器的工作原理。
域名服务器是一种特殊的服务器,它将 Web 地址与 IP 地址相关联,有点像目录。它利用分层分散命名系统,按根 DNS 服务器或顶级域名服务器(如 .net
和 .com
)进行排序,然后排序到每个顶级域名服务器下的权威 DNS 服务器(例如,.stanford
可能位于 .edu
下)。
C.1.3 识别以下特点:HTML、XML、XSLT、Javascript 和 CSS。
HTML 是用于制作网页的标准标记语言。特点
- 允许嵌入图像/对象或脚本
- HTML 预定义标签结构化文档
- 标签是标记的文本字符串,元素是“完整”的标签,具有开头和结尾,属性修改元素的值
- 通常与 CSS 配合使用以进行样式设置
CSS 表描述了如何显示 HTML 元素。它可以控制多个网页的布局。
XML 是一种标记规范语言,它定义了对编码文档(用于存储和传输数据)的规则,这些规则既可读懂,也可由机器读取。XML 作为一种元语言,使用文档类型定义 (DTD) 文件支持创建自定义标签(与 HTML 不同),这些文件定义了标签。XML 文件是数据,而不是软件。
XSLT 是一种将 XML 文档转换为其他 XML 文档或其他格式(如 HTML)的语言。它根据现有文档的内容创建新文档。
JavaScript 是一种动态编程语言,广泛用于创建 Web 资源。特点包括
- 客户端
- 支持面向对象编程风格
- 不包括输入/输出
- 可用于嵌入图像或文档、创建动态表单、动画、幻灯片以及表单验证
- 也用于游戏和应用程序
C.1.8 概述网页的不同组成部分。
头部 包含标题和元标签,元数据。元数据描述文档本身或将其与相关资源(如脚本和样式表)相关联。主体包含标题、段落和其他内容。
标题 在浏览器工具栏中定义标题。
元标签 是描述页面内容但不在页面本身(仅在页面代码中)显示的文本片段。帮助搜索引擎找到相关的网站。
C.1.10 描述不同类型的网页。
个人页面 是个人为个人内容而不是与组织有关联而创建的页面。通常包含有关个人爱好或观点等主题的信息,具有信息性或娱乐性。
博客 或 Weblog 是一种机制,允许在网站上发布定期文章。
搜索引擎页面 或搜索引擎结果页面 (SERP) 显示搜索引擎从查询中获得的结果。
论坛 或在线讨论板通常按主题组织,人们可以通过发布消息进行对话。通常具有不同的用户组,这些用户组定义了用户的角色和权限。
C.1.11 解释静态网页和动态网页的区别
静态 网页在每次加载页面时都包含相同的内容,但动态 网页的内容会根据用户输入而改变。静态网站开发速度更快,开发、托管和维护成本更低,但缺乏动态网站的功能和易于更新的能力。动态网页包括电子商务系统和讨论板。
动态网页可以使用 PHP、ASP.NET 框架或 Java Server Page (JSP) 脚本来实现。JSP 脚本是嵌入 HTML 代码中的一小段可执行代码。JSP 是服务器端脚本。另一方面,JavaScript 是客户端脚本。ASP.NET 框架可以使用单页应用程序 (SPA) 或 MVC (模型-视图-控制器) 模型来生成动态网页或应用程序,它支持多种 .NET 语言,例如 Razor 语法 C#。PHP 是用于 Web 开发的服务器端脚本语言,可以嵌入 HTML 代码中,也可以与模板或框架一起使用。
C.1.13 评估在网页中使用客户端脚本和服务器端脚本。
服务器端脚本在服务器上运行,需要发送请求并返回数据。对客户端更安全。包括 PHP、JSP 和 ASP.NET。
客户端脚本在客户端运行脚本。可能对客户端构成安全风险,但速度更快。包括 JavaScript 和 JSON。
C.1.14 描述如何将网页连接到底层数据源。
连接字符串是指定数据源及其连接方式的字符串。通常用于数据库连接。
C.1.15 描述通用网关接口 (CGI) 的功能。
CGI 是一种标准,用于使 Web 服务器与安装在服务器上用于动态生成网页的可执行程序交互。
C.2.2 区分表面网络和深层网络。
表面网络是指任何能够被搜索引擎找到和访问的内容。深层网络包括无法被搜索引擎找到的网页,因为它们需要身份验证才能访问。通常只有知道链接或拥有适当的身份验证才能访问。暗网另一方面,通常只能通过 TOR 找到,因为访问需要加密和匿名因素。
C.2.1 定义搜索引擎术语。
网络搜索引擎是一个网站,它通过关键词搜索和基于概念的搜索等方法帮助你找到其他网站。通过跟踪网站的不同链接进行搜索。
C.2.3 概述搜索引擎使用的搜索算法原理。
术语搜索是指查看已输入的查询,并在索引中搜索匹配项。搜索时会考虑以下因素:检查词频、区域索引(对标题和描述赋予不同的权重)、反馈的相关性、向量模型(查看文档的余弦相似度)。
PageRank是 Google 使用的一种算法。链接分析算法,它为超链接文本中的每个元素分配数值权重。PR(E)(E 的页面排名)。指向页面的超链接被视为对特定页面的投票或支持。通过关联性确定重要性。指向该页面的路径数量除以该页面之前步骤中发出链接的数量,然后考虑之前页面/步骤的 PR。总而言之,不同的 PageRank 将加起来为 1,这是一个概率分布。
超链接诱导主题搜索 (HITS) 算法是一种链接分析程序,它也对网页进行评级。中心和权威。一个好的中心指向许多页面,一个好的权威是被许多中心链接到的页面。每个页面都分配了两个分数:其权威性,它估计内容的价值,以及其中心价值,它估计其指向其他页面的链接的价值。首先通过基于文本的算法生成一个根集(最相关的页面)。然后通过增加从根集链接到该页面或从该页面链接到该页面的网页来生成一个基础集。基础集和基础集中所有的超链接形成了一个聚焦子图,HITS 在其上执行。
C.2.4 描述网络爬虫的功能。
网络爬虫,也称为网络蜘蛛,是互联网机器人,它们通过遍历不同的链接,系统地索引网站,同时收集有关网站的信息。它还会复制网站以供索引。
机器人,也称为网络机器人,是一种软件应用程序,它在互联网上运行自动任务或脚本,并且可以以很高的速度执行这些任务。通常是重复性的任务。
可以通过 robots.txt 文件中的机器人排除协议阻止网络爬虫访问页面。
C.2.5 讨论元标记中的数据与网络爬虫如何访问它的关系。
元标记用于关键词索引、检索(如果索引与搜索查询相关),有时也用于排名。例如,Google 不赋予元标记任何权重。学生应该意识到,这并不总是传递关系。
C.2.6 讨论并行网络爬虫的使用。
爬取是探索每个链接页面并返回该页面的副本的过程。[3] 使用多个网络爬虫或同时运行多个进程以最大限度地提高下载速率。必须注意不要多次下载同一个网站。
C.2.7 概述网络索引在搜索引擎中的目的。
索引是一个过程,其中每个页面都会被分析其单词,然后将页面添加到网站索引中。[3] 索引可以快速搜索并提供高度的相关性。[3]
C.2.9 描述搜索引擎使用的不同指标。
- 链接域/中心的信誉度
- 链接页面的受欢迎程度
- 源页面和目标页面之间内容的相关性
- 链接中使用的锚文本
- 源页面上链接到同一页面的链接数量
- 链接到目标页面的域数量
- 源域和目标域之间的关系
- 链接到目标页面的锚文本的变体
C.2.8 建议 Web 开发人员如何创建在搜索引擎结果中排名更靠前的页面。
- 允许搜索引擎找到你的网站
- 拥有一个值得链接的网站
- 确定关键词和元数据
- 确保搜索引擎友好的架构
- 拥有高质量的内容
- 定期更新内容
C.2.11 讨论白帽和黑帽搜索引擎优化的使用。
黑帽使用激进的 SEO 策略,这些策略利用了搜索引擎,而不是关注人类受众 - 短期回报。包括使用
- 博客垃圾邮件
- 链接农场
- 隐藏文本
- 关键词堆砌
- 寄生虫托管
- 隐蔽
白帽技术是“符合”指南的,被认为是合乎道德的 - 长期回报。
- 客座博客
- 链接诱饵
- 高质量内容
- 网站优化
C.3.1 定义以下术语:移动计算、普适计算、点对点网络、网格计算。
移动计算是指在计算机可以预期在正常使用过程中被运输(或以其他方式是移动的)情况下的人机交互。最流行的设备包括智能手机和平板电脑。
无处不在的计算是指将计算能力扩展到任何时间、任何地点的概念。它指的是计算的泛滥传播(普适计算)。它以不同的形式出现,例如笔记本电脑、平板电脑。
点对点网络是指每个计算机或节点同时充当客户端和服务器的网络,允许网络中的所有用户共同共享资源。可以实现对中心服务器的自主性。点对点网络的一个例子是种子下载。
网格计算是指将多个位置的计算机资源集合在一起以实现共同目标。它与集群计算的区别在于,网格计算将特定的角色分配给每个节点。网格可用于软件库。持久、基于标准的服务基础设施。
C.3.2 比较以下主要特征:
无处不在的计算正被移动计算所推动。这个概念正在传播和体现。
点对点更侧重于确保连接性和共享资源网络,而网格网络更侧重于基础设施。两者都涉及虚拟社区内资源共享的组织。
无处不在的计算通常以多设备交互为特征(点对点和网格),但并不一定等同。
网格计算中的网格将资源(PC、工作站、服务器、存储元素)连接在一起,并提供访问这些资源所需的机制。
C.3.3 区分互操作性和开放标准。
互操作性是指系统能够与其他产品无限制地访问或实现而协同工作的能力。
开放标准是指公开可用的标准,并具有与其相关的各种使用权。
C.3.4 描述分布式网络使用的硬件范围。
- 点对点:没有专门的机器提供服务或管理网络资源的架构。相反,所有职责均在所有机器(称为对等节点)之间平均分配。对等节点可以同时充当客户端和服务器。
- 客户端-服务器:智能客户端联系服务器获取数据,然后将其格式化并显示给用户的架构。当客户端的输入表示永久性更改时,将其提交回服务器。
- 三层:将客户端智能移动到中间层,以便可以使用无状态客户端的架构。这简化了应用程序部署。大多数 Web 应用程序都是三层的。
C.3.5 解释为什么分布式系统可能成为 Web 更大程度去中心化的催化剂。
分布式系统是指将组件位于网络计算机上的软件系统,这些组件通过传递消息来通信和协调其操作。这些组件相互交互以实现共同目标,因此这导致所有内容都位于其他计算机上,而不是让一台计算机成为“老板”,因为它是一个领导者,因为所有计算机都处于同一级别。
C.3.6 区分无损压缩和有损压缩。
无损压缩在解压缩时可以恢复原始数据的每个比特(GIF)。
有损压缩会消除冗余或特定信息。(JPEG)
C.3.7 评估解压缩软件在信息传输中的使用。
- 它只能与无损压缩一起使用。
- 如果您没有原始文件,它会很有用。
- 它可能无法恢复每个比特,并且可能缺少一些细微的细节。
C.4.1 讨论 Web 如何支持新的在线交互方式,例如社交网络。
Web 2.0 和动态网页的增加,使得用户贡献大幅增加,社交网络、博客和评论部分的广泛使用也随之而来。
C.4.2 描述云计算与客户端-服务器架构的不同之处。
云计算是指在互联网上的远程服务器上托管数据,以存储、管理和处理数据,而不是在本地服务器或个人计算机上。与客户端-服务器架构相比,云计算更广泛地共享资源。客户端-服务器架构仅指客户端和服务器之间的通信以及“责任”的分配。
公有云计算
- 任何人都可以访问。
- 维护和更新由公司负责。
私有云计算
- 托管数据中心,数据受防火墙保护。
- 对于拥有昂贵数据中心的公司来说,这是一个不错的选择,因为他们可以使用现有的基础设施。
- 但是,维护和更新由公司负责。
混合方法
同时使用公有云和私有云。
C.4.3 讨论对指定组织使用云计算的影响。
对组织使用云计算的影响
- 成本更低
- 设备和位置独立性
- 维护更容易
- 性能易于监控
- 安全性值得关注
C.4.4 讨论在 Web 上管理版权和知识产权等问题。
知识共享提供共享、改编甚至商业使用信息的自由。具有不同的重新分发方式,有些允许使用,而无需署名,但可能不会表明它是其自身的知识产权。
C.4.5 描述隐私、身份验证和授权之间的相互关系。
隐私:与访问网站共享的信息,如何使用这些信息,与谁共享这些信息,或者是否使用这些信息来跟踪用户。 [4]
身份验证:将数据样本与系统数据库中的所有参考模板进行比较的过程,以确定试图访问系统的用户身份。 [5]
授权:将提供的凭据与本地操作系统或身份验证服务器中授权用户的信息数据库中的凭据进行比较的过程。 [6]
这三个组件共同确保安全可靠的互联网浏览。
C.4.6 描述网络架构、协议和标准在 Web 未来发展中的作用。
- 未来网络和无线自组织网络
- 车联网中的未来网络
- 5G 和物联网 (IoT)
- 物联网中的未来互联网应用
- 迈向智能电网通信未来的步骤
- 机器到机器 (M2M) 和未来网络中的路由
- 未来网络技术与大数据/雾计算的融合
- 未来互联网和 5G 架构设计
- 5G 在 VANET(车载自组织网络)中的进步
- 移动边缘计算
- 未来网络中的安全和隐私
- 未来网络的网络协议
- 未来网络中的数据转发
- 未来网络的新应用
- 未来网络中的传输层改进
- 基于云的物联网架构和用例 [7]
物联网是指嵌入电子设备和其他必要技术的物理对象网络,使这些对象能够收集和交换数据。 [8]
C.4.7 解释为什么 Web 可能正在创造不受监管的垄断。
可能出现不受任何国家限制的新的跨国在线寡头垄断。
- 如果存在垄断,创新可能会下降。因此,一个社交网络网站、搜索引擎、浏览器可能会创建一个垄断,从而限制创新,这存在风险。
- 蒂姆·伯纳斯·李将今天的社交网络描述为集中的“孤岛”,将所有用户数据集中在一个地方。 [9]
- Web 浏览器(微软)
- 云计算领域由微软主导。
- Facebook 正在主导社交网络。
- 互联网服务提供商 (ISP) 可能会偏袒某些内容,而不是其他内容。
- 移动电话运营商阻止竞争对手网站。
- 内容审查。 [10]
一项原则性理念,即互联网服务提供商 (ISP) 和政府应平等对待互联网上的所有数据和资源,不因用户、内容、平台或其他特征而歧视。
C.4.8 讨论去中心化和民主化的 Web 的影响。
术语“去中心化网络”被用来指代一系列技术,这些技术取代或增强当前的通信协议、网络和服务,并以一种能够抵御单一主体控制或审查的方式进行分布。[11]
优势 | 问题 |
---|---|
|
|
- ↑ a b c Dale, Nell, and John Lewis. Computer Science Illuminated. 5th ed. N.p.: Jones & Bartlett Learning, 2012. Print.
- ↑ International Baccalaureate Diploma Programe. Markscheme May 2015 Computer science Standard level Paper 2. N.p.: International Baccalaureate, May 2015. Print.
- ↑ a b c International Baccalaureate Diploma Programe. Markscheme November 2015 Computer science Standard level Paper 2. N.p.: International Baccalaureate, May 2015. Print.
- ↑ Computer hope."What is privacy?" Computer Hope. Computer Hope, n.d. Web. 12 Apr. 2017. [1]
- ↑ Webopedia. "Identification." What is identification? Webopedia Definition. Quinstreet Enterprise, n.d. Web. 12 Apr. 2017. <http://www.webopedia.com/TERM/I/identification.html>.[2]
- ↑ Rouse, Margaret. "What is authentication? - Definition from WhatIs.com." SearchSecurity. TechTarget, Feb. 2015. Web. 12 Apr. 2017. <http://searchsecurity.techtarget.com/definition/authentication>.[3]
- ↑ Pecht, Michael. "Future Networks: Architectures, Protocols, and Applications." IEEE Access. IEEE, 31 Jan. 2017. Web. 19 Apr. 2017. <http://ieeeaccess.ieee.org/special-sections-closed/future-networks-architectures-protocols-applications/>.
- ↑ "Internet of Things Global Standards Initiative". ITU. Retrieved 7 May 2016.
- ↑ a b CS-IB. "C.4 The evolving web." Cs-ib.net. CS-IB, n.d. Web. 19 Apr. 2017. <http://www.cs-ib.net/sections/C-04-the-evolving-web.html>.
- ↑ Web_science_option_c.docx. Huston: Weebly, n.d. PDF.
- ↑ Griffey, Jason. "What Is the Decentralized Web? 24 Experts Break it Down." Syracuse University School of Information Studies. Syracuse University School of Information Studies, 22 July 2016. Web. 19 Apr. 2017. <https://ischoolonline.syr.edu/blog/what-is-the-decentralized-web/>.