您需要了解的有關內容管理系統的所有資訊

對於一般的上網者來說,瀏覽內容很容易。開啟一個連結,頁面就會出現。但幕後發生了什麼?以下是您最喜歡的CMS如何處理業務。...

對於一般的上網者來說,瀏覽網頁內容很簡單。你打開一個瀏覽器,輸入一個網址,瞧!頁面顯示。但另一方面,有一些軟件正在努力為你服務。大量的服務器正在利用內容管理系統來創建和服務您喜愛的內容。

everything-about-cms

當你從CMS“打開”一個頁面時會發生什麼?讓我們看看將內容帶到屏幕的系統的不同部分。

早期網絡

web託管的改進

how cms work simple

上世紀90年代末,當網絡開始興起時,有許多組件使用戶能夠輕鬆訪問他們喜愛的網絡內容。事情已經從直接從託管服務器獲取網頁發展到更復雜的系統:

  • 通過私有實體更容易地訪問域名系統註冊,這允許我們現在稱為域名的任意標籤與IP地址相關聯。這使得用戶很容易找到自己喜歡的網站。
  • 超文本傳輸協議(HTTP)提供了通過internet發送信息的標準方法。這使得個人和組織有必要將他們的內容以HTML格式提供,這樣任何人都可以使用兼容的瀏覽器來閱讀。
  • Web服務器出現了,其目的是等待對Web頁面的請求併發回頁面。這使得管理員可以輕鬆地擴展和保護其宿主環境。

在此期間,瀏覽器變得免費,互聯網服務提供商如美國在線(AOL)提供無限的撥號接入,用戶從封閉的社區(如BBS系統)遷移到開放的、基於web的內容。但是,儘管對信息有需求,生態系統的一部分仍然受到影響。

web創作中的缺點

創建所有這些早期網站的過程仍然以手工**HTML頁面為中心。這通常會導致內聯樣式和大量非常定製的代碼,特別是對於當今的“動態”網站(例如,用Perl等語言進行的電子商務)。此外,發佈網站的過程仍然需要FTP傳輸和web託管方面的技術知識。

然後,更多用戶生成的內容開始以“個人資料”網站的形式出現,如雅虎和MySpace。Blogger和LiveJournal這樣的博客服務更進一步,而桌面“網頁編輯器”使得創建一個(不好看的)網頁而不知道任何標記成為可能。這些特性啟發了當今的通用內容管理系統,它允許用戶輕鬆地:

  • 創建格式豐富的新頁面。
  • 將頁面排列到網站層次結構中。
  • 管理頁面上的媒體,如圖像。
  • 允許其他用戶與網站交互,包括創作自己的頁面。

在下面的部分中,我們將詳細介紹CMS如何使這些任務變得如此簡單。

cms的組件

目前有許多CMS應用程序可用,但大多數都有以下共同點:

  • 它們是用特定的編程/腳本語言構建的。與HTML不同,HTML只是一種標記,編程語言允許web頁面執行一些操作,比如確定誰在使用它們,或者基於搜索獲取結果。
  • 它們使用數據庫來存儲頁面內容、用戶/密碼列表或表單提交的輸入。
  • 他們利用網絡服務器。它將執行頁面文件(及其編程),並將生成的HTML返回給訪問者的瀏覽器。

how cms work stack

我們將在下面依次查看每一個。

cms程序設計語言

不同cmse之間的主要區別之一是它們所支持的編程語言。編程語言用於使站點“動態”,也就是說執行計算或其他邏輯。這些操作可以簡單到在頁腳的版權中顯示當前年份,也可以添加和顯示數字報表。

所有主要的網絡編程語言至少都有一個CMS,包括:

  • PHP:WordPress、Drupal、Joomla
  • ASP.NET:DotNetNuke(DNN CMS),翁布拉科
  • 蟒蛇:Django,Plone
  • 爪哇:戶外,木蘭

在這些語言(以及其他語言)中,PHP已經成為創建內容管理系統的領跑者,原因有兩個。首先,它是開源的,一開始並不是所有語言都是開源的。因此,在許多小型網站的廉價託管計劃中,它是一種免費的語言。此外,從大多數方面來看,它是一種簡單的語言,允許新用戶將自己的功能侵入自己的網站。最後,apacheweb服務器從很早就將PHP作為一個模塊。因此,建立世界領先的網絡服務器是快速和簡單的。

儘管其他一些語言已經取得了與PHP相比的進步(例如,.NET現在是開源的),但它們要想從WordPress之類的公司獲得可觀的市場份額還需要一段時間。

cms數據庫

給定CMS的編程語言還考慮了它所支持或完全需要的數據庫。PHP對MySQL有很好的支持,儘管使用它的cmse通常也可以使用PostgreSQL或SQLite。同樣,dnncms支持microsoftsqlserver,而Alfresco支持企業級和Java友好型數據庫,如Oracle和db2。最後,您用於CMS的數據庫也可能由您的託管環境提供的任何數據庫驅動。你的博客的託管帳戶幾乎肯定會讓你使用MySQL,而你的公司可能只使用Oracle。

除了應用程序的文件(頁面模板、加載項等)、媒體(圖像和視頻)和某些配置之外,數據庫存儲了大多數CMSE的大部分內容。但是給定頁面上的文本、媒體文件的路徑以及它所在的URL通常存儲在DB表中。

cms web服務器

最後,CMS是一個web應用程序,因此需要一個web服務器。通過使用各種模塊,Apache可以支持上述四種語言等等。越來越流行的較新的web服務器,如nginx和lighttpd,也通過附加組件支持不同的語言集。

web服務器將執行站點的文件。這些文件類型(.PHP、.JSP等)通常只是混合了編程語言代碼的HTML標記。當web服務器處理頁面時,它會在該語言的模塊/插件的幫助下執行遇到的任何編程代碼。當它處理完一個頁面時,編程代碼將被一些瀏覽器友好的內容所取代。

how cms work php file

如果仔細觀察上面的代碼,您會發現代碼實際上通過“獲取”頁眉和頁面模板來幫助構建頁面。為了使事情更復雜,一個文件可能會調用一個或多個其他文件以獲得幫助。當我們在下面幾節中查看對CMS的一些實際請求時,請記住,運行“PHP文件”實際上可能需要運行許多。

行動中的cms

描述CMS最簡單的方法是採取幾個示例操作,並對每個操作的步驟進行遍歷。與前面的示例一樣,這些過程從對頁面的請求開始,到web服務器將一些HTML(和CSS/Javascript)發送回瀏覽器結束。但是,假設一個基於PHP的CMS,我們將在下面探索其中的一些步驟。

請求頁面

與CMS最基本的交互是普通用戶請求它的一個頁面。例如,以這篇關於MakeUseOf的文章為例。它有一個URL,但在該位置的目錄中沒有實際的文件。當讀者的瀏覽器請求一個URL時,web服務器運行CMS的一個PHP文件,例如索引.php文件。

how cms work show url

PHP頁面通過查詢數據庫中的CMS頁面及其元數據中的匹配URL來處理請求(同樣,URL的位置沒有實際的文件)。然後,它將從數據庫中讀取頁面的內容(普通文本和圖形以及小部件)和元數據(標題、它使用的模板等),並返回頁面的HTML供瀏覽器呈現。簡而言之,它使用URL來選擇數據庫中要使用的頁面記錄。

登錄

同樣,想要登錄到該站點的用戶(例如,要查看“僅限成員”頁面)將需要提供憑據。當他們試圖訪問有問題的頁面時,DB將包含指示該頁面需要登錄的權限。

how cms work login

在像這樣的頁面上輸入用戶名和密碼登錄.php,它將在數據庫中查詢所提供用戶名的密碼,進行比較以確保它們匹配,並根據需要將用戶發送回其請求的頁面。

how cms work login

更新頁面

在CMS中更新頁面通常需要訪問其管理屏幕,對頁面內容進行更改,並重新保存/重新發布頁面。例如,WordPress包含wp admin頁面/郵政.php. 它將首先檢查用戶是否已登錄,如果已登錄,則檢查用戶是否是管理員。接下來,它將在數據庫中查詢表示用戶要修改的頁面的內容,填充編輯控件,例如文本區域和圖像選擇器。

how cms work update

用戶可以與這些控件交互(例如更改文本或替換標題圖像),完成後單擊“保存”或“發佈”按鈕。此時,管理屏幕將獲取新填寫的值並在數據庫中更新它們。

how cms work update

CMSE使web創作變得可訪問

儘管在內部它們是複雜的應用程序,但表面上,像WordPress這樣的cmse使非技術用戶在web上的創作變得容易。有人誰想要發佈一個簡單的博客可以註冊一個便宜的託管帳戶,點擊幾個按鈕,並有一個CMS準備在幾分鐘內去。多花幾美元,託管公司甚至可以管理它的更新和維護。

你在某個特定的CMS上有網站或博客嗎?擁有內容管理系統會讓你的工作更輕鬆嗎?或者你更喜歡像以前那樣把HTML上傳到你的主機帳戶上?讓我們知道在評論中,如果你是一個CMS愛好者或老式的HTML牧馬人。

  • 發表於 2021-03-13 12:08
  • 閱讀 ( 51 )
  • 分類:科技

你可能感興趣的文章

10個電影愛好者必備的youtube頻道

... 想了解一下與電影有關的一切嗎?螢幕是你的頻道。包括電影理論,bloopers,有趣的事實,以及更多,這個頻道定期上傳大量有趣的影片。它不像其他頻道那樣專注於一種內...

  • 發佈於 2021-03-15 07:36
  • 閲讀 ( 54 )

如何削減您的有線電視帳單在5個簡單的步驟

... 花一個月時間記錄你的行為。你需要記錄你看哪個頻道和多長時間的資料,這些資料顯示你看什麼運動,看什麼運動,以及你花多長時間跳槽。 ...

  • 發佈於 2021-03-15 10:42
  • 閲讀 ( 46 )

有關新款諾基亞3310的所有資訊

...量懷舊。為了幫助您決定是否購買諾基亞3310,以下是您需要了解的有關新款諾基亞3310的所有資訊。。。 ...

  • 發佈於 2021-03-15 13:33
  • 閲讀 ( 38 )

有關xbox one外部硬碟的所有資訊

...部硬碟新增一些額外空間。在本文中,我們詳細介紹了您需要了解的關於Xbox One外部硬碟的所有內容。 ...

  • 發佈於 2021-03-18 15:38
  • 閲讀 ( 46 )

如何使用snapchat insights分析受眾

... 在本文中,我們將介紹您需要了解的有關Snapchat Insights的所有資訊,包括它是什麼以及誰可以訪問它。 ...

  • 發佈於 2021-03-19 04:16
  • 閲讀 ( 40 )

如何為您喜愛的影片製作youtube播放列表

... 要找到YouTube播放列表的完整列表——公共或私人——你需要看左邊(如果你在臺式機或膝上型電腦上)。在螢幕的左側,您將在“以後觀看”按鈕下看到一個列表,包括剛剛建立的播放列表。 ...

  • 發佈於 2021-03-19 09:00
  • 閲讀 ( 60 )

macos中隱藏的coreservices資料夾的細分

... 此實用程式最適合需要將其計算機繫結到目錄服務(如Active directory或Open directory)的Mac管理員。它允許您管理設定,如移動帳戶建立和搜尋策略。 ...

  • 發佈於 2021-03-21 16:43
  • 閲讀 ( 66 )

使用bookfusion為您的企業或組織建立和管理自定義數字圖書館

... 這就是為什麼您的業務或組織需要BookFusion。 ...

  • 發佈於 2021-03-22 14:53
  • 閲讀 ( 48 )

Cookie並不都是壞的:在瀏覽器上啟用Cookie的6個理由

... Cookies的誕生源於公司向客戶提供虛擬線上購物籃的需要。網景是早期的先驅;它不想在自己的伺服器上儲存不完整的事務,而是開始研究如何將資訊儲存在使用者的計算機上。 ...

  • 發佈於 2021-03-23 13:01
  • 閲讀 ( 57 )

新的amd ryzen漏洞是真實的:您需要了解的內容

... 這些漏洞都不需要物理裝置訪問或任何其他驅動程式才能執行。但是,它們確實需要本地機器管理員許可權,因此有一些喘息的機會。讓我們面對現實吧,如果有人可以直接從根目錄訪...

  • 發佈於 2021-03-25 16:38
  • 閲讀 ( 46 )