互联网+ 第990页 SEO 优化,或简称 SEO,是一组实践,用于帮助搜索引擎确定网站上提供的信息类型,并通过扩展,使正在寻找该信息的用户能够找到它。SEO 代表“搜索引擎优化”。,在实践中,搜索引擎优化基本上归结为发布高质量的内容,然后通过将文本与用户搜索此类内容的方式保持一致来充分利用这些内容。它不仅仅是简单地填充充满关键字的内容*;SEO 优化的网站具有清晰直接的标题、有用的部分标题、描述性文件名和图像的 alt 标签,以及易于理解的网站层次结构。,,从搜索引擎的角度来看,让用户轻松找到他们需要的信息很重要,因此网站的用户体验非常重要。网站性能是用户体验的重要组成部分;当用户不得不等待页面完成加载时,他们会感到沮丧。,*关键字填充是在内容中以不自然的程度多次使用关键字以试图在搜索引擎排名中获得优势的做法。谷歌不再考虑使用关键字的频率是相关的,有时会惩罚网站的关键字填充的明确实例。, 什么是搜索引擎排名?,当用户使用搜索引擎执行搜索时,搜索引擎会生成一个网站列表,这些网站按照最可能到最不可能完成查询的顺序排列。该列表通常分为一系列结果页面(或 SERP),列出可能回答用户查询的网站,通常每个 SERP 有 10 个结果。大多数用户不会越过搜索结果的第一页,而是选择优化搜索并重试。出于这个原因,大多数 SEO 专家的目标是让他们管理的网站进入他们所针对的查询的前 10 名搜索结果。,网站在搜索引擎结果中的排名将取决于多种因素,包括它与查询的相关程度以及搜索算法认为网站的权威程度。通过优化网站进行搜索,网站所有者可以确保他们的内容在搜索排名中尽可能高,从而使用户更有可能点击。,在西方,谷歌主导着搜索引擎市场,因此谷歌的算法在很大程度上决定了搜索引擎优化的最佳实践。在北美,谷歌拥有近 90% 的搜索,必应和雅虎搜索占据了其余市场的大部分。然而,在世界其他地方,其他搜索引擎占据主导地位。例如,百度是中国的主要搜索引擎。,, 网站速度对 SEO 有多大影响?,2010 年,Google 宣布将网站速度纳入其搜索排名。从那时起,网站性能变得越来越有影响力,而性能优化现在是 SEO 优化的重要组成部分。在他们最初宣布将网站速度作为排名因素时,谷歌强调了用户的观点,以及缓慢的网站如何对用户体验产生不利影响。谷歌还指出,用户不太可能留在加载缓慢的网站上。(这意味着用户因此不太可能停留足够长的时间来回答他们的查询。),谷歌没有透露其搜索算法的细节,因此很难准确量化网站速度对 SEO 的影响程度。然而,网站可用性和整体用户体验当然至关重要,尤其是对于移动设备而言,谷歌自己的研究表明,如果移动网站的加载时间超过 3 秒,则 53% 的移动网站会被完全放弃。, ,SEO 优化,或简称 SEO,是一组实践,用于帮助搜索引擎确定网站上提供的信息类型,并通过扩展,使正在寻找该信息的用户能够找到它。SEO 代表“搜索引擎优化”。,在实践中,搜索引擎优化基本上归结为发布高质量的内容,然后通过将文本与用户搜索此类内容的方式保持一致来充分利用这些内容。它不仅仅是简单地填充充满关键字的内容*;SEO 优化的网站具有清晰直接的标题、有用的部分标题、描述性文件名和图像的 alt 标签,以及易于理解的网站层次结构。,
2024-05-28
与托管在传统服务器或虚拟机上的应用程序相比,无服务器计算和容器都使开发人员能够以更少的开销和更大的灵活性构建应用程序。开发人员应该使用哪种架构风格取决于应用程序的需求,但无服务器应用程序更具可扩展性并且通常更具成本效益。,, 什么是容器?,容器“包含”应用程序和应用程序正常运行所需的所有元素,包括系统库、系统设置和其他依赖项。就像“只需加水”的煎饼混合物一样,容器只需要一件事——托管和运行——就可以执行它们的功能。,任何类型的应用程序都可以在容器中运行。无论托管在哪里,容器化应用程序都将以相同的方式运行。集装箱可以很容易地在任何需要的地方移动和部署,就像物理运输集装箱一样,它是标准尺寸的,因此可以通过各种运输工具(轮船、卡车、火车等)运输到任何地方,无论其内容如何。,用技术术语来说,容器是一种将机器或服务器划分为单独的用户空间环境的方法,这样每个环境只运行一个应用程序,并且不与机器上的任何其他分区部分进行交互。每个容器与其他容器共享机器的内核(内核是操作系统的基础,它与计算机的硬件交互),但它就像机器上唯一的系统一样运行。, 容器与虚拟机,甲虚拟机是一个软件模仿一个完整的计算机系统。它与托管它的机器的其余部分隔离,并且表现得好像它是其上唯一的操作系统,包括拥有自己的内核。虚拟机是在一台服务器上托管多个环境的另一种常见方式,但它们比容器使用更多的处理能力。, 什么是无服务器计算?,无服务器应用程序被分解为功能,并由第三方供应商托管,该供应商仅根据每个功能运行的时间量向应用程序开发人员收费。有关无服务器计算的更多信息,请参阅什么是无服务器计算?,, 无服务器计算和容器之间的主要区别是什么?, 物理机器,“无服务器”计算实际上在服务器上运行,但由无服务器供应商根据应用程序的需要来提供服务器空间;没有为给定的功能或应用程序分配特定的机器。另一方面,每个容器一次都存在于一台机器上并使用该机器的操作系统,但如果需要,它们可以很容易地移动到不同的机器上。, 可扩展性,在基于容器的架构中,部署的容器数量是由开发人员预先确定的。相比之下,在无服务器架构中,后端会自动扩展以满足需求。,继续海运集装箱的比喻,一家航运公司可以尝试预测对某种产品的需求增加,然后将更多的集装箱运送到目的地以满足该需求,但如果有需求,它就无法打响指并生产更多装满货物的集装箱超出预期。,无服务器架构正是实现这一目标的一种方式。在计算能力方面,无服务器计算就像现代家庭的供水系统:通过打开水龙头,消费者可以随时获取和使用所需的水量,并且只需为所用的水量付费。这比尝试一次购买一个桶或一个集装箱的水更具可扩展性。, 成本,容器不断运行,因此即使当时没有人使用该应用程序,云提供商也必须对服务器空间收费。,无服务器架构中没有持续的费用,因为除非调用应用程序代码,否则它不会运行。相反,开发人员只需为其应用程序实际使用的服务器容量付费。,, 维护,容器托管在云中,但云提供商不会更新或维护它们。开发人员必须管理和更新他们部署的每个容器。,从开发人员的角度来看,无服务器架构无需管理后端。供应商负责运行代码的服务器的所有管理和软件更新。, 部署时间,与无服务器功能相比,容器的初始设置时间更长,因为需要配置系统设置、库等。配置完成后,容器只需几秒钟即可部署。但由于无服务器功能比容器微服务小,并且不捆绑系统依赖项,因此它们只需几毫秒即可部署。上传代码后,无服务器应用程序就可以上线。, 测试,很难测试无服务器 Web 应用程序,因为后端环境很难在本地环境中复制。相比之下,容器无论部署在哪里都运行相同,这使得在将基于容器的应用程序部署到生产环境之前对其进行测试相对简单。, 无服务器计算和容器有何相似之处?,两者都是基于云的,并且都大大降低了基础设施开销——无服务器计算比容器更重要。在这两种架构中,应用程序都被分解并部署为更小的组件。在基于容器的架构中,每个容器将运行一个微服务。, 什么是微服务?,微服务是应用程序的一部分。每个微服务执行一项服务,多个集成的微服务组合起来组成应用程序。虽然这个名字似乎暗示微服务很小,但它们不一定是。,,将应用程序构建为一组微服务的优点之一是开发人员可以一次更新一个微服务,而不是在需要进行更改时更新整个应用程序。将应用程序构建为功能的集合,就像在无服务器架构中一样,提供了相同的好处,但在更细粒度的级别上。, 开发人员应该如何在无服务器架构和容器之间做出选择?,选择无服务器架构的开发人员将能够快速发布和迭代新应用程序,而不必担心应用程序是否可以扩展。此外,如果应用程序没有看到一致的流量或使用情况,无服务器计算将比容器更具成本效益,因为代码不需要不断运行。,容器让开发人员可以更好地控制应用程序运行的环境(尽管这也需要更多的维护)以及使用的语言和库。正因为如此,容器对于将遗留应用程序迁移到云非常有用,因为它可以更接近地复制应用程序的原始运行环境。,最后,可以使用混合架构,其中一些无服务器功能和一些部署在容器中的功能。例如,如果一个应用程序功能需要的内存比无服务器供应商分配的更多,如果一个功能太大,或者如果某些功能而不是其他功能需要长时间运行,则混合架构使开发人员能够获得无服务器的好处,同时仍然使用容器来实现无服务器无法支持的功能。, ,与托管在传统服务器或虚拟机上的应用程序相比,无服务器计算和容器都使开发人员能够以更少的开销和更大的灵活性构建应用程序。开发人员应该使用哪种架构风格取决于应用程序的需求,但无服务器应用程序更具可扩展性并且通常更具成本效益。,,
2024-05-28
无服务器 JavaScript 是包含应用程序的全部或部分的 JavaScript 代码,仅在请求时运行,并且不托管在专有服务器上。它使开发人员能够构建在网络上运行的高性能、低延迟的无服务器应用程序(例如JAMstack 应用程序),并避免与其他无服务器应用程序相关的许多问题,例如冷启动。,无服务器JavaScript 托管在边缘网络中或由 HTTP 缓存服务托管,该服务存储内容以快速响应 HTTP 请求。开发人员可以编写和部署 JavaScript 函数,在 HTTP 请求到达源服务器之前对其进行处理。,,使用无服务器 JavaScript,可以通过在边缘运行代码来扩展现有应用程序的功能并改善用户体验,或者创建一个新的、完全无服务器的、快速且高度可扩展的应用程序。, 什么是清漆?,Varnish 是一个 Web 加速器,旨在加速 Web 应用程序并提高网站性能。它是一个缓存 HTTP反向代理,这意味着它位于任何 Web 服务器的前面,并通过缓存或存储 Web 客户端经常请求的任何内容来加速进出该服务器的 HTTP 流量。Varnish 配置语言或 VCL 与 Varnish 结合使用,以允许开发人员自定义 Varnish 管理 Web 请求的方式。, 在无服务器架构中使用 JavaScript 而不是 VCL 有什么优势?,VCL 是一种配置语言,旨在使 Varnish 缓存易于配置;它不是一种成熟的编程语言。VCL 不够灵活,无法构建或扩展强大的应用程序。与 JavaScript 相比,它的功能有限。此外,VCL 没有在 Varnish 实现之外使用,因此大多数开发人员并不熟悉它。相比之下,JavaScript 无处不在,并且已经广泛用于构建应用程序。在无服务器架构中使用 JavaScript 允许开发人员以他们熟悉的语言构建完整的应用程序。无服务器 JavaScript 允许更广泛的开发人员在边缘利用无服务器计算,并允许这些开发人员构建更多种类的应用程序。, 使用无服务器 JavaScript 构建应用程序如何帮助减少延迟?,无服务器 JavaScript 在 HTTP 缓存网络中运行,与托管在源服务器上的代码相比,它更接近最终用户。因此,请求不必一路传送到源服务器并返回,应用程序对用户交互的响应速度更快。缓存网络在地理上分布的边缘位置越多,减少的延迟就越多。, 无服务器 JavaScript 何时运行?,在无服务器模型中,应用程序被分解为函数,函数代码运行以响应某些事件。否则它不会运行。触发无服务器 JavaScript 执行的事件是 HTTP 请求。开发人员可以自定义其 JavaScript 函数响应的 HTTP 请求类型,以及如何更改或满足 HTTP 请求。, 什么是 HTTP 请求?,这是通过HTTP(超文本传输协议)从客户端发送到服务器的请求。浏览器将用户操作(例如单击超链接或提交表单)转换为 HTTP 请求。然后将请求发送到服务器,服务器发送 HTTP 响应来满足请求。当应用程序进行 API 调用时,也会发生 HTTP 请求。, 什么是 HTTP 缓存?,HTTP 缓存是指服务器或浏览器保存对用户 HTTP 请求的响应的副本,以便更快地响应未来的请求。甲CDN服务器是HTTP缓存的一个例子。一些 HTTP 缓存服务使开发人员能够自定义 HTTP 缓存如何为他们的应用程序工作。, 什么是服务人员?,服务工作者是浏览器下载和运行的脚本,以便为用户创建定制的体验。Service Worker 可以在浏览器中实现推送通知、后台同步和离线功能等功能。它们用 JavaScript 编写,在请求到达 Internet 之前拦截、修改和响应 HTTP 请求。,Service Worker 处理 HTTP 流量的两种方式:,,Service Worker 可以在不联系 Web 服务器的情况下响应 HTTP 请求,,Service Worker 可以修改 HTTP...
2024-05-28
与传统的基于云或以服务器为中心的基础架构相比,无服务器计算具有许多优势。对于许多开发人员而言,无服务器架构以更低的成本提供了更大的可扩展性、更大的灵活性和更快的发布时间。使用无服务器架构,开发人员无需担心购买、配置和管理后端服务器。然而,无服务器计算并不是所有 Web 应用程序开发人员的灵丹妙药。,, 无服务器计算如何工作?,无服务器计算是一种架构,其中供应商根据需要提供后端服务。要了解有关无服务器计算的更多信息,请参阅什么是无服务器计算?, 无需服务器管理,尽管“无服务器”计算确实发生在服务器上,但开发人员永远不必处理服务器。它们由供应商管理。这可以减少 DevOps 所需的投资,从而降低开支,还可以让开发人员腾出时间来创建和扩展他们的应用程序,而不受服务器容量的限制。, 开发人员只需为其使用的服务器空间付费,从而降低成本,与“即用即付”电话计划一样,开发人员只需为他们使用的内容付费。代码仅在无服务器应用程序需要后端功能时运行,并且代码会根据需要自动扩展。配置是动态的、精确的和实时的。有些服务非常精确,以至于它们将费用分解为 100 毫秒的增量。相比之下,在传统的“全服务器”架构中,开发人员必须提前预测他们需要多少服务器容量,然后购买该容量,无论他们最终是否使用它。,, 无服务器架构本质上是可扩展的,想象一下,如果邮局能够以某种方式神奇地随意添加和停用送货卡车,随着邮件数量的激增(例如,就在母亲节之前)增加其车队的规模,并在需要较少交付的时候减少其车队。这基本上是无服务器应用程序能够做到的。,使用无服务器基础架构构建的应用程序将随着用户群的增长或使用量的增加而自动扩展。如果一个功能需要在多个实例中运行,供应商的服务器将根据需要启动、运行和结束它们,通常使用容器。(如果最近运行该函数,它将更快地启动 – 请参阅下面的“性能可能会受到影响”。)因此,无服务器应用程序将能够处理异常大量的请求,就像它可以处理一样来自单个用户的单个请求。具有固定数量服务器空间的传统结构化应用程序可能会因使用量的突然增加而不堪重负。, 可以进行快速部署和更新,使用无服务器基础架构,无需将代码上传到服务器或进行任何后端配置即可发布应用程序的工作版本。开发人员可以非常快速地上传一些代码并发布新产品。他们可以一次上传全部代码或一次上传一个函数,因为应用程序不是一个单一的整体堆栈,而是供应商提供的一组函数。这也使得快速更新、修补、修复或向应用程序添加新功能成为可能。无需对整个应用程序进行更改;相反,开发人员可以一次更新应用程序一项功能。, 代码可以更靠近最终用户运行,从而减少延迟,因为应用程序不是托管在源服务器上,所以它的代码可以在任何地方运行。因此,根据所使用的供应商,可以在靠近最终用户的服务器上运行应用程序功能。这减少了延迟,因为来自用户的请求不再需要一路传送到源服务器。,, 测试和调试变得更具挑战性,很难复制无服务器环境以查看代码在部署后的实际执行情况。调试更加复杂,因为开发人员无法看到后端进程,并且因为应用程序被分解为单独的、更小的功能。, 无服务器计算引入了新的安全问题,当供应商运行整个后端时,可能无法完全检查他们的安全性,这对于处理个人或敏感数据的应用程序来说尤其是一个问题。由于公司没有分配到自己的离散物理服务器,因此无服务器提供商通常会在任何给定时间在单个服务器上运行来自多个客户的代码。这种与其他方共享机器的问题被称为“多租户”——想想几家公司试图同时在一个办公室租赁和工作。多租户会影响应用程序性能,如果多租户服务器配置不正确,可能会导致数据泄露。多租户对沙盒功能正常且基础设施足够强大的网络几乎没有影响。, 无服务器架构不是为长时间运行的进程构建的,这限制了可以在无服务器架构中经济高效地运行的应用程序种类。由于无服务器提供商对代码运行的时间量收费,因此与传统基础架构相比,在无服务器基础架构中运行具有长时间运行进程的应用程序的成本可能更高。,, 性能可能会受到影响,因为它不是持续运行的,所以无服务器代码在使用时可能需要“启动”。此启动时间可能会降低性能。但是,如果定期使用一段代码,无服务器提供程序将保持它准备好被激活——对这个现成代码的请求称为“热启动”。对一段时间未使用的代码的请求称为“冷启动”。Workers 通过使用 Chrome V8 引擎在很大程度上避免了冷启动问题,该引擎在大多数情况下能够在 5 毫秒内启动和运行 JavaScript 代码。如果代码已经在运行,则响应时间不到一毫秒。详细了解不同无服务器平台的性能。, 供应商锁定是一种风险,允许供应商为应用程序提供所有后端服务不可避免地会增加对该供应商的依赖。与一个供应商建立无服务器架构可能会使必要时难以切换供应商,特别是因为每个供应商提供的功能和工作流程略有不同。, 谁应该使用无服务器架构?,想要缩短上市时间并构建可快速扩展或更新的轻量级、灵活应用程序的开发人员可能会从无服务器计算中受益匪浅。无服务器架构将降低使用不一致的应用程序的成本,高峰期与几乎没有流量的时间交替出现。对于此类应用程序,购买持续运行且始终可用(即使未使用)的服务器或服务器块可能是对资源的浪费。无服务器设置将在需要时立即响应,并且在静止时不会产生成本。此外,想要将部分或全部应用程序功能推送到靠近最终用户以减少延迟的开发人员将需要至少部分无服务器架构,因为这样做需要将一些进程移出源服务器。,, 开发人员何时应避免使用无服务器架构?,在某些情况下,无论从成本角度还是从系统架构角度来看,使用自我管理或作为服务提供的专用服务器都更有意义。例如,具有相当稳定、可预测的工作负载的大型应用程序可能需要传统设置,在这种情况下,传统设置可能更便宜。此外,将遗留应用程序迁移到具有完全不同架构的新基础架构可能非常困难。, ,与传统的基于云或以服务器为中心的基础架构相比,无服务器计算具有许多优势。对于许多开发人员而言,无服务器架构以更低的成本提供了更大的可扩展性、更大的灵活性和更快的发布时间。使用无服务器架构,开发人员无需担心购买、配置和管理后端服务器。然而,无服务器计算并不是所有 Web 应用程序开发人员的灵丹妙药。,, 无服务器架构不是为长时间运行的进程构建的
2024-05-28
除 Web 应用程序外,无服务器架构还可用于构建移动应用程序。通过采用无服务器后端的混合移动应用程序,开发人员可以结合无服务器计算的优势,发布能够在几乎任何智能手机或平板电脑上像本机应用程序一样运行的应用程序。随着用户群增长,可以便捷地扩展无服务器移动应用程序。,, 什么是混合移动应用程序?,混合移动应用程序和本机移动应用程序就像两辆汽车,它们的外观相同、内饰相同、驾驶方式也大致相同,但引擎盖下的发动机却大不相同。本机应用程序是专门为特定类型的设备和操作系统构建的,其逻辑在设备本身运行。,混合应用程序是使用 HTML、CSS 和 JavaScript 构建的 Web 应用程序,可在“本机包装”中运行,因此它可以在各种设备上像本机移动应用程序一样运行。与常规的 Web 应用程序不同,混合应用程序可以访问特定于平台的功能,包括设备硬件和特定于某种设备类型的推送通知功能。用户可以通过 App Store 或 Google Play 下载这些混合应用程序,并像安装本机应用程序一样予以安装,但由于大多数甚或所有逻辑都托管在云中,下载和安装的次数通常更少。,近年来,由于技术改进消除了性能顾虑,因此混合应用程序变得越来越流行。例如,Uber、Instagram 和 Twitter 都是混合应用程序。与构建本机移动应用程序相反,开发人员有时更喜欢使用混合架构,这样就无需针对不同设备使用多种平台特定的语言来重新构建应用程序。毫不奇怪,构建可在多种设备上运行的应用程序通常可以节省开发和提供持续产品支持的时间。, 采用无服务器后端的移动应用程序如何工作?,使用混合移动应用程序,计算将在云中进行,而不是在设备上进行。应用程序的所有云托管计算过程都可以无服务器进行,就像无服务器的 Web 应用程序一样。无服务器 Web 应用程序和无服务器混合移动应用程序之间的唯一主要区别在于前端的本机包装*。,与无服务器的 Web 应用程序一样,应用程序代码由处理所有后端管理流程的无服务器供应商托管。应用程序分为一些小的部分,称为函数,这些函数不依赖于任何特定的服务器。每个函数都会响应触发事件而运行,并且供应商的基础设施会根据需要启动新的函数实例。例如,如果用户在采用无服务器后端的应用程序中点击“购买”按钮,就会触发一个或一系列后端函数,以启动、记录交易并发起用户所购买商品的交付。,, 构建采用无服务器后端的移动应用程序有什么好处?,无服务器移动应用程序具有与使用无服务器后端构建典型 Web 应用程序相同的优势:, ,除 Web 应用程序外,无服务器架构还可用于构建移动应用程序。通过采用无服务器后端的混合移动应用程序,开发人员可以结合无服务器计算的优势,发布能够在几乎任何智能手机或平板电脑上像本机应用程序一样运行的应用程序。随着用户群增长,可以便捷地扩展无服务器移动应用程序。,,
2024-05-28
客户端和服务器端是描述应用程序代码运行位置的 Web 开发术语。Web 开发人员还将这种区别称为前端与后端,尽管客户端/服务器端和前端/后端并不完全相同。在无服务器架构中,无服务器供应商将资源托管并分配给所有服务器端进程,并且这些进程会随着应用程序使用量的增加而扩展。, 什么是客户端-服务器模型?,大部分 Internet 都是基于客户端-服务器模型。在此模型中,用户设备通过网络与位于中心的服务器进行通信以获取所需的数据,而不是相互通信。膝上型电脑、智能手机和台式计算机等终端用户设备被视为服务器的“客户端”,就好像它们是从公司获得服务的客户一样。客户端设备向服务器发送网页或应用程序请求,服务器提供响应。,使用客户端-服务器模型是因为服务器通常比用户设备更强大、更可靠。它们还不断维护并保存在受控环境中,以确保它们始终处于开启状态和可用状态;尽管个别服务器可能会出现故障,但通常有其他服务器支持它们。同时,用户可以打开和关闭自己的设备,或者丢失或损坏自己的设备,不会影响其他用户的互联网服务。,服务器可以同时服务多个客户端设备,每个客户端设备在访问和浏览互联网的过程中向多个服务器发送请求。,多个客户端和服务器交互:,,每个客户端将与多个服务器通信,反之亦然。,假设用户正在浏览 Internet,并在他们的浏览器栏中键入“netflix.com”。这导致向DNS服务器请求netflix.com的IP 地址,DNS 服务器通过将 IP 地址提供给浏览器来响应此请求。接下来,用户的浏览器向 Netflix 服务器(使用 IP 地址)发出请求以获取页面上显示的内容,例如电影缩略图、Netflix 徽标和搜索栏。Netflix 服务器将其传递给浏览器,浏览器将页面加载到客户端设备上。, 客户端是什么意思?,在 Web 开发中,“客户端”是指 Web 应用程序中显示或发生在客户端(最终用户设备)上的所有内容。这包括用户看到的内容,例如文本、图像和 UI 的其余部分,以及应用程序在用户浏览器中执行的任何操作。,HTML 和 CSS 等标记语言由客户端的浏览器解释。此外,许多当代开发人员正在他们的应用程序架构中包含客户端进程,而不再在服务器端做所有事情。例如,动态网页的业务逻辑*通常在现代 Web 应用程序中运行客户端。客户端进程几乎总是用 JavaScript 编写的。,在上面的 netflix.com 示例中,指示 Netflix 主页如何呈现给用户的 HTML、CSS 和 JavaScript 由客户端的浏览器解释。该页面还可以响应“事件”:例如,如果用户的鼠标悬停在其中一个电影缩略图上,则图像会展开,并且相邻的缩略图会稍微向一侧移动,以便为更大的图像腾出空间。这是客户端进程的示例;网页中的代码本身会响应用户的鼠标并启动此操作,而无需与服务器通信。,客户端也称为前端,尽管这两个术语并不完全相同。客户端仅指进程运行的位置,而前端是指运行客户端的各种进程。,*动态网页是不会为所有用户显示相同内容并根据用户输入进行更改的网页。Facebook主页是动态页面;Facebook 登录页面大部分是静态的。, 服务器端是什么意思?,就像客户端一样,“服务器端”意味着发生在服务器上的所有事情,而不是客户端。过去,几乎所有的业务逻辑都运行在服务器端,包括渲染动态网页、与数据库交互、身份认证和推送通知。,在服务器端托管所有这些进程的问题在于,涉及其中一个的每个请求每次都必须从客户端一直传输到服务器。这引入了大量的延迟。出于这个原因,当代应用程序在客户端运行更多的代码;一个用例是通过在浏览器中运行脚本来实时呈现动态网页,这些脚本可以更改用户看到的内容。,与“前端”和“客户端”一样,后端也是发生在服务器上的进程的术语,尽管后端仅指进程的类型,而服务器端指的是进程运行的位置。, 什么是客户端脚本?什么是服务器端脚本?,客户端脚本仅仅意味着在客户端设备上运行脚本,例如 JavaScript,通常在浏览器中。用 JavaScript 编写的各种脚本都可以在客户端运行,因为 JavaScript 是普遍支持的。只有当用户的浏览器支持时,才能使用其他脚本语言。,服务器端脚本在服务器而不是客户端上运行,通常是为了向网页提供动态内容以响应用户操作。服务器端脚本不必用 JavaScript 编写,因为服务器可能支持多种语言。,脚本在客户端和服务器端运行:,,数据在客户端和服务器之间来回传递,脚本可以在双方运行。, 服务器端进程如何在无服务器架构中工作?,在无服务器计算中,所有服务器端或后端进程仍然在服务器而不是客户端设备上运行,但它们并未部署在任何特定的服务器或一组服务器上。后端进程被分解成的功能,这按需运行,并自动扩大。开发人员仍然可以在无服务器架构中构建通常在服务器端运行的所有功能。, ,客户端和服务器端是描述应用程序代码运行位置的 Web 开发术语。Web 开发人员还将这种区别称为前端与后端,尽管客户端/服务器端和前端/后端并不完全相同。在无服务器架构中,无服务器供应商将资源托管并分配给所有服务器端进程,并且这些进程会随着应用程序使用量的增加而扩展。, 什么是客户端-服务器模型?,服务器端脚本在服务器而不是客户端上运行,通常是为了向网页提供动态内容以响应用户操作。服务器端脚本不必用 JavaScript 编写,因为服务器可能支持多种语言。
2024-05-28
域名是互联网基础设施的关键部分。它们为 Internet 上可用的任何 Web 服务器提供人类可读的地址。任何连接到 Internet 的计算机都可以通过公共IP地址访问,该地址可以是 IPv4 地址或 IPv6 地址。计算机可以轻松处理这些地址,但人们很难找出谁在运行服务器或网站提供什么服务。IP 地址很难记住,并且可能会随着时间而改变。为了解决所有这些问题,我们使用称为域名的人类可读地址。,, 域名结构,域名有一个简单的结构,由几个部分组成(可能只有一个,两个,三个……),用点分隔并从右到左阅读:这些部分中的每一个都提供有关整个域名的特定信息。, TLD(顶级域),TLD 告诉用户域名背后的服务的一般用途。最通用的 TLD ( .com, .org, .net) 不要求 Web 服务满足任何特定标准,但一些 TLD 执行更严格的策略,因此更清楚它们的目的是什么。例如:,TLD 可以包含特殊字符和拉丁字符。TLD 的最大长度为 63 个字符,但大多数为 2-3 个字符。TLD 的完整列表是 由 ICANN 维护., 标签(或组件),标签是 TLD 之后的内容。标签是不区分大小写的字符序列,长度为 1 到 63 个字符,仅包含字母 A 到 Z、数字 0 到 9 和 – 字符(可能不是标签中的第一个或最后一个字符) )。 a、 97和 hello-strange-person-16-how-are-you 都是有效标签的示例。位于 TLD 之前的标签也称为二级域(SLD)。,一个域名可以有许多标签(或组件)。组成一个域名不是强制性的,也不是必须有 3 个标签。例如,www.inf.ed.ac.uk 是一个有效的域名。对于您控制的任何域(例如Mozilla.org),您可以创建具有不同内容的“子域”,例如 developer.mozilla.org, iot.mozilla.org, 或者 wiki.developer.mozilla.org., 购买域名, 谁拥有域名?,您不能“购买域名”。这样一来,未使用的域名最终将可供其他人再次使用。如果每个域名都被购买,网络将很快被未使用的域名填满,这些域名被锁定,任何人都无法使用。相反,您需要支付使用域名一年或多年的权利。您可以续签您的权利,您的续签优先于其他人的申请。但是您永远不会拥有该域名。称为注册商的公司使用域名注册来跟踪将您连接到您的域名的技术和管理信息。,注意:对于某些域名,它可能不是负责跟踪的注册商。例如,下面的每个域名.fire都由亚马逊管理。, 查找可用的域名,要了解给定的域名是否可用,,如您所见,我无法注册,mozilla.org因为 Mozilla 基金会已经注册了它。,另一方面,让我们看看我是否可以注册afunkydomainname.org:,如您所见,whois数据库中不存在该域(在撰写本文时),因此我们可以要求注册它。很高兴知道!, 获取域名,这个过程非常简单:,注意:在此过程中,注册商会询问您的真实地址。确保您填写正确,因为在某些国家/地区,如果注册商无法提供有效地址,他们可能会被迫关闭域。, DNS 刷新,DNS 数据库存储在全球每台 DNS 服务器上,所有这些服务器都引用了一些特殊的服务器,称为“权威名称服务器”或“顶级 DNS 服务器”。——这些就像管理系统的老板服务器。,每当您的注册商为给定域创建或更新任何信息时,必须在每个 DNS 数据库中刷新该信息。每个知道给定域的 DNS 服务器都会将信息存储一段时间,然后自动失效然后刷新(DNS 服务器查询权威服务器并从中获取更新的信息)。因此,知道该域名的 DNS 服务器需要一些时间才能获得最新信息。, DNS 请求如何工作?,正如我们已经看到的,当您想在浏览器中显示网页时,输入域名比输入 IP 地址更容易。我们来看看过程:, ,域名是互联网基础设施的关键部分。它们为 Internet 上可用的任何 Web 服务器提供人类可读的地址。任何连接到 Internet 的计算机都可以通过公共IP地址访问,该地址可以是 IPv4 地址或 IPv6 地址。计算机可以轻松处理这些地址,但人们很难找出谁在运行服务器或网站提供什么服务。IP 地址很难记住,并且可能会随着时间而改变。为了解决所有这些问题,我们使用称为域名的人类可读地址。,,注意:在此过程中,注册商会询问您的真实地址。确保您填写正确,因为在某些国家/地区,如果注册商无法提供有效地址,他们可能会被迫关闭域。
2024-05-28
服务器需要大量资源。这就是为什么确定您的业务是否需要一个是您应该仔细考虑的重要问题。花时间更多地了解您将投资的内容是至关重要的。您现在正在阅读本文的事实表明您已经走在正确的轨道上。收集知识是做出合理和明智决策的关键。在 ITS,我们已帮助数百名商业领袖了解他们的技术。根据我们的经验,我们的客户对他们的技术了解得越多,他们的企业就越能充分利用它。,, 什么是服务器?,在最基本的情况下, 服务器处理由一组称为客户端的连接设备或网络发出的请求。 服务器是您存储信息的任何设备,这是一个常见的误解。的确,它们也存储数据;主要区别在于他们安装了服务器软件。该软件旨在处理繁重的后端任务。,为了更好地理解这个概念,您可以将服务器软件视为餐厅的服务员。如果您点一份熟透的牛排,服务员会通过将信息提供给厨房来处理订单。然后厨房将根据该信息进行烹饪,然后通过服务员将其发送给您。基本上, 它管理信息流以确保交易顺畅。,服务器可以在您的业务中发挥至关重要的作用,这也是它们几乎从不关闭的原因。因为如果它们关闭,它将停止服务器和客户端之间的所有事务,可能会给您带来严重的问题。因此,建议使用冗余服务器,以防万一出现故障或关闭。,关于服务器要注意的另一件事是,它们既可以是看起来像桌面 CPU 的硬件,也可以是 Web 服务器等软件。主要区别在于软件服务器通常通过互联网,而物理服务器仅通过您的局域网。,它们还可以设置为执行单个功能(专用服务器),例如处理电子邮件或多个功能(共享服务器),例如托管一个或多个网站以及发送/接收电子邮件。,, 4个标志您的企业需要服务器,既然您知道什么是服务器,那么您如何确定您的小型企业需要一台服务器呢?下面看一下您需要投资服务器的一些最常见的迹象:, 1.您的业务正在增长,当您的员工少于 10 人时,管理您的计算机和 IT 非常简单。当您需要软件更新,或者您正在切换到新的防病毒解决方案时,您只需点击您的团队并实现它。共享文件;这是同一件事。只需传递外部硬盘驱动器,就可以了。但是,一旦你的团队人数达到 10 人、15 人或 20 人,你很快就会发现,这些任务不仅变得更加困难,而且变得更加困难。他们变得更加困难。您可能已经注意到您的团队已经陷入共享文件或跟踪软件更新的困境。服务器可以简化这些过程等等。 它极大地使管理网络上的一组计算机变得更加容易,无论它们是在现场还是在场外。, 2 您的团队需要访问相同的数据,即使是小型企业也需要一个中央数据存储位置。它有助于使事情更有条理,并允许您的团队成员在需要时访问他们需要的数据。对于小型企业来说,这可能意味着选择云存储来灵活、轻松地访问您的数据。但是,一旦您超过了十几个席位,具有域控制器的服务器可能更有意义。一个域控制器是一个服务器计算机响应验证请求简化了管理用户权限为您的企业的过程。 它可以运行 Windows Server 软件、Active Directory 以及文件和打印服务。这些都可以让您更轻松地管理多个设备。,, 3.您想集中网络安全管理,当您只有五六名员工时,为网络中的每台设备安装安全软件可能没什么大不了的。然而,一旦你打了十几个,它就变成了一项耗时的工作。服务器将允许您从单台机器实施网络范围的安全更新。从那里,您可以运行病毒扫描、管理垃圾邮件过滤器以及通过网络安装程序。 这使得网络安全管理的要求大大降低,即使您的团队中有更多成员。, 4.您想要自动备份,您的团队是否定期备份他们的台式机和笔记本电脑?他们很可能没有经常这样做。如果您曾经在计算机上工作而忘记点击保存按钮,那么您就会知道当您的思绪忙碌时很容易迷失方向。不幸的是,丢失数据的后果以及尝试检索数据导致的停机时间会严重影响您的业务。专用服务器可以为您自动执行该过程。 您可以将所有计算机的备份自动化到中央集线器并备份服务器以进行额外测量。 这可以显着减少停机时间并减轻数据丢失的影响。, 准备好为您的企业设置服务器了吗?,决定是否应该购买服务器归结为您的组织规模和您的独特需求。权衡成本与拥有一个可能为您的业务带来的潜在好处也很重要。虽然它们提供了许多您可以利用的特权,但服务器需要大量资源来购买和维护。在 ITS,我们已经帮助数百家企业管理他们的技术,包括他们的服务器。我们可以在您需要时帮助您进行设置和维护。, ,服务器需要大量资源。这就是为什么确定您的业务是否需要一个是您应该仔细考虑的重要问题。花时间更多地了解您将投资的内容是至关重要的。您现在正在阅读本文的事实表明您已经走在正确的轨道上。收集知识是做出合理和明智决策的关键。在 ITS,我们已帮助数百名商业领袖了解他们的技术。根据我们的经验,我们的客户对他们的技术了解得越多,他们的企业就越能充分利用它。,,决定是否应该购买服务器归结为您的组织规模和您的独特需求。权衡成本与拥有一个可能为您的业务带来的潜在好处也很重要。虽然它们提供了许多您可以利用的特权,但服务器需要大量资源来购买和维护。在 ITS,我们已经帮助数百家企业管理他们的技术,包括他们的服务器。我们可以在您需要时帮助您进行设置和维护。
2024-05-28
尽管“应用程序服务器与Web 服务器”暗示了对比,但在 Internet 上,这两种类型的服务器通常为了一个共同目的而部署在一起:满足用户对网站内容的请求。没有定义 Web 服务器和应用程序服务器属性的标准文档,但让我们看看这些术语是如何被普遍理解的。,,一个Web服务器的基本工作是接受并满足来自客户端的请求从一个网站的静态内容(HTML网页,文件,图像,视频等)。客户端几乎总是浏览器或移动应用程序,请求采用超文本传输协议 ( HTTP ) 消息的形式,Web 服务器的响应也是如此。,一个应用程序服务器的基本工作是为其客户提供访问通常所说的业务逻辑,产生动态内容; 也就是说,它是转换数据以提供业务、服务或应用程序提供的特殊功能的代码。应用程序服务器的客户端通常是应用程序本身,并且可以包括 Web 服务器和其他应用程序服务器。应用程序服务器与其客户端之间的通信可能采用 HTTP 消息的形式,但这不是必需的,因为它是用于 Web 服务器与其客户端之间的通信。许多其他协议也很流行,包括 CGI 的变体。, 应用程序服务器和 Web 服务器如何协同工作?,在典型的部署中,提供静态和动态生成内容的网站运行静态内容的 Web 服务器和动态生成内容的应用程序服务器。反向代理和负载平衡器坐在的一个或多个web服务器和一个或多个web应用程序服务器前将通信路由到适当的服务器,首先基于内容的类型请求,然后根据所配置的负载平衡算法上。大多数负载均衡器程序也是反向代理服务器,它简化了 Web 应用程序服务器架构。,, 为什么这样问?,为什么某个东西是应用程序服务器还是 Web 服务器是个问题?这主要是由于随着网站需求的增长,这两种服务器的设计和使用越来越重叠。许多流行的应用程序同时充当 Web 服务器和应用程序服务器(想想 Apache HTTP Server、Express、Hapi 和 Koa)。,另一个重叠之处是一些 Web 应用程序服务器使用 HTTP 作为它们的通信协议。类似地,一些 Web 服务器最终看起来像应用程序服务器,因为它们具有内置模块和功能,这些模块和功能本机支持 PHP 等流行语言,或代理并将请求从 HTTP 转换为应用程序使用的协议(例如 FastCGI)。, ,尽管“应用程序服务器与Web 服务器”暗示了对比,但在 Internet 上,这两种类型的服务器通常为了一个共同目的而部署在一起:满足用户对网站内容的请求。没有定义 Web 服务器和应用程序服务器属性的标准文档,但让我们看看这些术语是如何被普遍理解的。,,
2024-05-28
网络服务器是向计算机网络上的工作站和其他服务器提供各种共享资源的计算机。共享资源可以包括磁盘空间、硬件访问和电子邮件服务。通常情况下,几乎任何计算机都可以成为“网络服务器”。服务器与工作站的区别不是硬件,而是计算机执行的功能。一般来说,工作站是个人用来执行特定工作或个人目标列表的任何计算机,而服务器是为用户提供访问共享软件或硬件资源的计算机。这种共享通常发生在 Internet 上,但并非总是如此。只要所有机器都以某种能力相互连接或“联网”,服务器就能够运行。,, 主要目标,任何计算机网络背后的基本思想都是简化:在大范围内简化数据、通信和信息。大多数网络能够容纳许多不同的设备。计算机往往是最常见的,但平板电脑、智能手机,甚至一些其他设备,如电视和基于互联网的无线电接收器,都可以通过适当的硬件相互连接。然而,网络必须起源于某个地方,促进和支持互连的数据必须物理地位于某个特定的区域。在大多数情况下,这是网络服务器。, 核心组件,通常可以购买专用服务器,它们是小型机器,其全部目的是互连和路由。不过,几乎任何设备都可以编程为以这种方式工作。也就是说,重要的是要注意,服务器通常是用比单个工作站更强大的组件构建的,至少在开始时是这样。例如,服务器通常会安装比标准台式计算机更多的随机存取存储器 (RAM) ,并且它也可能使用更强大的操作系统(OS)。虽然这可能会增加服务器相对于单个工作站的价格,但如果考虑到效率提升,组织的总体成本可能会显着降低。, 数据管理,除了服务器提供的共享服务之外,它们还可以帮助简化网络和系统管理员的管理任务。通过将这些服务集中定位在单个硬盘驱动器上而不是在每个工作站上,配置更改和安全更新通常只需应用到网络服务器一次— 这可以节省大量能源,特别是在拥有数百名员工运行大量程序的组织中链接的设备。网络管理员只需安装一次打印机软件和病毒安全补丁等更新,然后让服务器自动将这些更改传递给所有连接的机器,就可以为自己省去很多麻烦。,, 在信息简化中的作用,文件服务器为网络用户提供了一个集中的磁盘空间池来存储和共享各种文档。这些服务器可帮助组织跨部门维护单一版本的文件,并可简化管理。当所有数据都存储在一个位置时,管理员只需要从一台计算机备份文件,如果无法正确加载或跨员工平台更新不一致,这通常可以节省时间和麻烦。, 执行的其他服务,单个服务器通常被编程为根据组织的需要扮演各种角色。链接打印和电子邮件功能是一些最常见的,也是一些最有价值的。打印服务器允许组织共享一台打印机,从而避免每个单独的工作站都需要拥有自己的打印机。邮件服务器为网络上的计算机提供电子邮件服务,并且通常还提供已发送和接收的消息的存储和跟踪。,文件服务器还经常充当域名服务 (DNS) 服务器,这与Web 托管和唯一 Internet 域的建立有关。身份验证服务器也有些常见。这些为网络提供了一个用于存储帐户和密码信息的中央数据库,从而允许用户在网络上的任何计算机、平板电脑或链接的电话上登录。, ,网络服务器是向计算机网络上的工作站和其他服务器提供各种共享资源的计算机。共享资源可以包括磁盘空间、硬件访问和电子邮件服务。通常情况下,几乎任何计算机都可以成为“网络服务器”。服务器与工作站的区别不是硬件,而是计算机执行的功能。一般来说,工作站是个人用来执行特定工作或个人目标列表的任何计算机,而服务器是为用户提供访问共享软件或硬件资源的计算机。这种共享通常发生在 Internet 上,但并非总是如此。只要所有机器都以某种能力相互连接或“联网”,服务器就能够运行。,,
2024-05-28