web系统管理系统

近年来,我们见证了向用户交付基于Web的内容的技术设备数量激增。 每年,智能手机,平板电脑,智能手表等等都将具有不断发展的技术能力,并支持越来越多的操作系统和Web浏览器,这些产品每年都在市场上崭露头角。

这种趋势与Web开发以及无头内容管理与传统内容管理系统(CMS)有什么关系? 非常多。

CMS创建互联网

CMS是一种应用程序或计算机程序集,用于管理数字内容,例如图像,视频,博客文章-实际上是您在网站上发布的任何内容。 CMS的一个明显例子是WordPress 。

这里广泛使用“管理”一词。 它可以指在网站上创建,编辑或更新任何类型的数字内容,以及对网站进行索引以使其易于搜索。

因此,CMS实际上将网站上显示的内容与该内容的显示方式分开。 它还允许您(网站管理员)设置谁可以访问,编辑,修改或以其他方式管理该内容的权限。

假设您要发布新博客条目,更新或更正旧帖子中的某些内容,在Facebook页面上写,共享视频或文章的社交媒体链接,或嵌入视频,音乐文件或一组预先编写的文字到您网站上的页面。 如果您曾经做过这样的事情,那么您已经使用了CMS功能。

传统CMS体系结构:优点和缺点

CMS包含两个主要组件:内容管理应用程序(CMA)和内容交付应用程序(CDA)。 CMA属于网站的前端部分。 这使作者或其他内容管理者无需Web开发人员的帮助即可编辑和创建内容。 CDA属于网站的后端部分。 通过组织和编译内容以使网站内容更新成为可能,它可以自动执行网站管理员的功能。

传统上,这两部分作为“耦合的” CMS体系结构合并为一个单元。 耦合的CMS使用内置在应用程序本身中的特定前端交付系统(CMA)。 术语“耦合”来自以下事实:前端框架(网站的模板和布局以及页面在某些浏览器中的打开响应)与网站的内容相关。 换句话说,在耦合的CMS体系结构中,内容管理应用程序(CMA)和内容交付应用程序(CDA)不可分割地合并在一起。

传统CMS的好处

耦合的体系结构确实提供了优点,主要是为那些技术上不熟练的人提供了简便和易用的优点。 这个事实说明了为什么保留传统CMS设置的WordPress之类的平台对于创建网站或博客的人仍然如此受欢迎 。

网站构建器应用程序 (例如Wix和Squarespace)进一步简化了Web开发过程,使您可以构建拖放式网站。 这些构建器中最受欢迎的是使用开放源代码库,但它们本身都是封闭源。 这些站点使几乎任何可以找到互联网的人都可以将一个站点放在一起,而不必费心浏览CMS环境中相对较短的杂草。 尽管不久前在开源社区中,构建器应用程序就成为了嘲弄对象,主要是因为它们倾向于给网站一种通用的,预先打包的外观和感觉,但是它们却变得越来越功能强大,种类繁多。

安全是一个问题

但是,对于除最简单的Web应用程序以外的所有应用程序,传统的CMS架构都会导致技术不灵活。 使用传统的CMS修改静态网站或Web应用程序需要花费大量时间和精力来生成更新,补丁和安装,从而使开发人员无法跟上越来越多的设备和浏览器的需求。

此外,耦合的CMS具有两个内置的安全缺陷:

风险1 :由于内容管理和交付是绑定在一起的,因此通过前端破坏您的网站的黑客会自动获得对后端数据库的访问权限。 数据及其表示方式之间缺乏分隔,这增加了数据被盗的可能性。 根据存储在网站服务器上的用户数据的种类,大规模盗窃可能是灾难性的。

风险2 :在没有单独的系统将内容传递到您的网站的情况下,成功进行分布式拒绝服务 (DDoS)攻击的风险会增加。 DDoS攻击以大量的流量请求淹没了内容交付网络,以至于它们变得不知所措并脱机。 如果您的内容交付网络与实际的Web服务器分开,则攻击者将无法关闭您的站点。

为了避免这些问题,开发人员引入了无头和解耦的CMS。

比较无头和解耦的CMS

CMS的“头”是内容交付应用程序的统称。 因此,没有内容管理系统(因此无法将内容传递给用户)的CMS被称为“无头”。

缺乏既定的交付方式使无头CMS具有极大的通用性。 没有CDA,就没有预先建立的交付方法,因此开发人员可以根据需要设计单独的框架。 不断修补您的网站,Web应用程序和其他代码以确保兼容性的问题消失了。

另一种选择是解耦CMS ,它具有许多与无头CMS相同的功能和优点,但是有一个关键的区别。 无头CMS完全由开发人员负责将其交付并呈现给用户,而解耦的CMS提供了预先建立的交付工具,供开发人员使用或离开。 因此,解耦的CMS既可以提供传统CMS的简便性,又可以提供无头CMS的多功能性。

简而言之,解耦的CMS有时称为混合CMS 因为它是耦合设计和无头设计的混合体。 解耦的CMS并不是一个新概念。 早在2015年,PHP核心存储库开发人员David Buchmann就呼吁开发人员取消CMS的耦合,以应对更广泛的挑战。

无头CMS改善安全性

实现无头与分离的内容管理体系结构以及它们与传统体系结构的区别的最重要点可能是附加的安全性好处。 在无头设计和分离设计中,内容和用户数据都位于受防火墙保护的单独后端系统上。 用户无法访问内容管理应用程序本身。

但是,请务必记住,这种体系结构更改的主要结果是,由于体系结构是零散的,因此开发人员必须自行填补空白,并自行设计内容交付和表示机制。 这意味着无论您选择无头还是脱钩,开发人员都需要了解安全性。 虽然将内容管理和内容交付分开可以使黑客减少攻击的向量,但这本身并不是安全优势。 您的开发人员将不得不负担正确保护最终CDA的负担。

保护后端的防火墙提供了至关重要的安全层 。 无头和解耦的架构可以在多个数据库之间分配内容,因此,如果您利用这种可能性,可以进一步降低成功进行DDoS攻击的机会。 开源无头CMS也可以从安装Linux VPN或iptables之类的Linux内核防火墙管理工具中受益。 所有这些选项结合在一起,为开发人员提供了创建他们所需的附加安全性,无论他们选择哪种CDA或后端设置。

除了好处,请记住,无头CMS平台是一项相当新的技术。 在切换到无头式或脱钩式之前,请考虑所使用的主机是否可以支持增加的安全性,以便您可以将应用程序托管在网络安全系统之后,以阻止未经授权的访问。 如果他们不能,则可能是主机更改。 在评估新主机时,还应考虑可能导致迁移问题的所有现有合同或现有的安全性和合规性限制(GDPR,CCPA等)。

开源选项

如您所见,无头架构为设计师提供了多功能性和自由性,使他们可以交付内容,而他们却认为最好。 这种自由精神与软件设计中的开源范例自然契合,在该范例中,所有源代码都可以公开查看,并且任何人都可以出于任何原因对其进行修改。

有许多开源的无头CMS平台允许开发人员做到这一点: Mura, dotCMS和Cockpit CMS仅举几例。 要深入了解开源无头CMS平台的世界, 请查看本文 。

最后的想法

对于网站设计师和开发人员而言,无头CMS的想法标志着对网站构建和交付方式的重大反思。 迁移到此体系结构是一种使网站面向未来的好方法,以防止偏好改变以及未来黑客可能采取的任何技巧,同时无论使用什么设备或浏览器,都能创造无缝的用户体验。 您还可以查看有关UX技巧的本指南 ,以与无头和解耦的架构相结合的方式设计网站。

翻译自: https://opensource.com/article/19/5/headless-cms

web系统管理系统

web系统管理系统_使用无头管理系统创建灵活的Web内容相关推荐

  1. java集合体检套餐管理系统_体检套餐管理系统

    体检套餐管理系统 首先搭建一个窗体 创建体检项目的两个类一个是检查项目类(HealthCheckItem),另一个是套餐类(HealthCheckSet) 在HealthCheckItem类 中有 项 ...

  2. 网络资产管理系统_网络版固定资产管理系统具备哪些优势?

    网络版固定资产管理系统具备哪些优势?许多企业在选购固定资产管理系统时总是会问是否可以将系统部署的本地服务器.由此可以看出,许多企业对于本地版固定资产管理系统与网络版固定资产管理系统的优劣还不太清楚,由 ...

  3. web系统软件测试功能点,小程序、app、web测试的区别

    APP的测试类型有 • 安装卸载测试:确认系统能正常安装应用及使用,不需要时卸载及数据清除, • 安全测试:防范隐私泄露.密码加密及传输安全.权限的合理开放.数据库安全.通信安全以及安装包反编译: • ...

  4. java学生签到系统视频教程_手把手教你做一个Java web学生信息、选课、签到考勤、成绩管理系统附带完整源码及视频开发教程...

    四个阶段的Java web学生信息系统视频教程终于录制完成了,系统用到的知识点有:jsp+servlet+mysql+jquery+ajax,前端采用的是当下最流行的easyui管理框架,全部采用面向 ...

  5. web文件管理系统_财务影像管理系统

    "影像信息采集管理系统" 是自主研发的一套高端行业应用软件产品,是成功解决企业无纸化办公的又一项突破性成果. "影像信息采集管理系统"实现了将不同种类的纸质文件 ...

  6. 【第一更】WEB系统版本及自动更新管理系统

    已经很久没有写文章了,此次借着做这个小项目的机会,重新update自己写代码的技能:自从转岗后比较少写代码,感觉都有点生疏了:好了,话不多话,进入本次正题:我先介绍下开发这个项目的背景,因为我们公司是 ...

  7. java电影院购票系统概况_电影院售票管理系统

    之前帮学弟做了一个毕设,电影院售票管理系统,仿的是淘票票,开发语言是java,需要的同学可以看一下原地址,电影院售票管理系统, 环境如下: 运行环境:java8.mysql5.6 开发语言:java ...

  8. web图书销售管理系统_解读图书管理系统为书店带来的好处

    图书管理系统的出现,极大地推动了大中小型书店的发展,使书店管理工作更加高效成为书店管理的重要软件.其中图书管理系统给行业的好处更是大大方便了行业的运作. 一.图书管理系统在书店中的应用,主要是为了进销 ...

  9. pythonweb图书管理系统_部署图书管理系统项目

    部署准备 部署图书管理项目你将使用以下软件 nginx uWSGI CentOS7 部署图书管理项目文件 virtualenv supervisor WSGI.uWSGI python web服务器开 ...

最新文章

  1. java(13)内部类
  2. 不受微软待见的Python,如何在八年内逆袭成功?
  3. 【Python】值得推荐的12个jupyter lab插件
  4. verilog or VHDL乒乓球游戏电路设计
  5. merge r语言daframe_R语言总结
  6. python冒泡排序函数_python冒泡排序-Python,冒泡排序
  7. Python3高级 之 协程
  8. 谷歌Pixel 4真机曝光:宽大额头内含诸多玄机
  9. 赵娜计算机,新学期 新起点 新征程——计算机学院2016级召开系列年级工作会议...
  10. 干货 | 语音识别类产品细分及其应用场景
  11. 部署ganglia3.7
  12. 常见shader原理及实现(三)边缘查找,锐化,浮雕
  13. 怎么下载卫星地图导出为离线包
  14. [OGeek2019 Final]OVM
  15. 2023计算机毕业设计SSM最新选题之java养生知识平台99ofs
  16. 恩布企业IM 1.8 版本,企业内部通讯软件
  17. 精尽Spring MVC源码分析 - 一个请求的旅行过程
  18. 网易电脑版我的世界显示获取服务器列表失败,我的世界网易中国版无法游戏问题汇总[图]...
  19. Fiddler 抓包工具“测试人员”高频使用方法
  20. PCIE 调试过程记录

热门文章

  1. 有关ElasticSearch的基本概念
  2. mybatis源码学习篇之——执行流程分析
  3. 2019年创业融资去哪个平台好?创成汇
  4. Yii-模型- criteria查找数据库方法
  5. python基础之玩转(变量赋值)
  6. ES6入门笔记(一)
  7. 建造样式与抽象工厂样式的区别
  8. 一步一步重写 CodeIgniter 框架 (8) —— 视图的嵌套输出与返回
  9. JDK源码(9)-Double、Float
  10. python 监控内存_使用python写一个监控不同机器的使用内存情况并使用flask出图