服務器端基礎

1.Web服務器

「Web服務器」能夠指硬件或軟件,或者二者一塊兒工做。前端

  1. 在硬件方面,Web服務器是一種存儲網站組件文件(例如HTML文檔,圖像,CSS樣式表和JavaScript文件)並將其傳遞給最終用戶設備的計算機。它鏈接到互聯網,能夠經過域名訪問。
  2. 在軟件方面,Web服務器包括幾個部分,用於控制Web用戶如何訪問託管文件,至少先要有HTTP服務器。HTTP服務器是一個可以解析URL和HTTP的軟件。
    在最基本的層面上,每當瀏覽器須要在Web服務器上託管的文件時,瀏覽器將經過HTTP協議請求文件。當請求到達正確的Web服務器(硬件)時,HTTP服務器(軟件)經過HTTP發送請求的文檔。

2.靜態網站(服務器)與動態網站(服務器)的區別

靜態web服務器:由計算機(硬件)與HTTP服務器(軟件)組成,服務器將「託管」文件「按原樣」發送到您的瀏覽器。web

clipboard.png

動態Web服務器:由一個靜態Web服務器加上額外的軟件,最經常使用的的應用服務器和數據庫。咱們將其稱爲「動態」,由於應用程序服務器經過HTTP服務器將其發送到瀏覽器以前更新託管文件。數據庫

clipboard.png

3.客戶端(前端)與服務器端(後端)編程的區別

  • 他們有不一樣的目的和關切。
  • 他們一般不使用相同的編程語言(JavaScript是例外,能夠在服務器端和客戶端使用)。
  • 它們在不一樣的操做系統環境中運行。

在瀏覽器中運行的代碼稱爲客戶端代碼,主要涉及改進呈現的網頁的外觀和行爲。這包括選擇和設計UI組件,建立佈局,導航,表單驗證等。相比之下,服務器端網站編程涉及主要根據請求選擇 哪些內容報道查看給瀏覽器。服務器端代碼處理像驗證提交的數據和請求,使用數據庫來存儲和檢索數據以及根據須要將正確的數據發送到客戶端的任務。編程

客戶端代碼使用HTML,CSS和JavaScript編寫– 它在Web瀏覽器中運行,對底層操做系統(包括對文件系統的訪問有限)幾乎沒有訪問權限。後端

服務器端代碼能夠用任何編程語言編寫 – 包括PHP,Python,Ruby和C#。服務器端代碼能夠徹底訪問服務器操做系統。瀏覽器

開發人員一般使用的Web框架關係編寫代碼。網頁框架是功能,對象,規則和其餘代碼結構的集合,旨在解決常見問題,加快開發速度,並簡化特定域中面臨的不一樣類型的任務。服務器

一樣,雖然客戶端服務器端代碼都使用框架,可是這些域是很是不一樣的,所以框架也是如此。客戶端Web框架簡化了佈局和表示任務,而服務器端Web框架提供了許多「通用」Web服務器功能,不然您可能必須本身實現(例如,支持會話,支持用戶和身份驗證,輕鬆訪問數據庫,模板庫等)。cookie

4.服務器端的用途

  • 高效地儲存和傳遞信息

服務器端編程容許咱們將信息存儲在數據庫中,並動態構建和返回HTML和其餘類型的文件(例如PDF,圖像等)。還能夠經過適當的客戶端Web框架簡單地返回數據(JSON,XML等)進行呈現(這減小了服務器上的處理負擔以及須要發送的數據量)。框架

  • 定製用戶體驗

服務器能夠存儲和使用有關客戶端的信息,以提供方便和定製的用戶體驗。編程語言

  • 受控訪問內容

服務器端編程容許站點限制對受權用戶的訪問,並僅提供容許用戶查看的信息。

  • 儲存會話/狀態信息

服務器端編程容許開發人員使用會話機制,容許服務器將信息存儲在站點的當前用戶上,並根據該信息發送不一樣的響應。(cookies)

  • 通知和溝通

服務器能夠經過網站自己或經過電子郵件,短信,即時消息,視頻對話或其餘通訊服務發送通常或特定於用戶的通知。

  • 數據分析

網站可能會收集大量關於用戶的數據:他們搜索什麼,他們購買什麼,他們推薦什麼,他們留在每一頁上多久。可使用服務器端編程來根據對該數據的分析來改進響應。

詳情參見:https://developer.mozilla.org...

相關文章
相關標籤/搜索