海外服務(wù)器商-什么是客戶端和服務(wù)器端?

      客戶端服務(wù)器端是描述應(yīng)用程序代碼運(yùn)行位置的 Web 開(kāi)發(fā)術(shù)語(yǔ)。Web 開(kāi)發(fā)人員還將這種區(qū)別稱(chēng)為前端與后端,盡管客戶端/服務(wù)器端和前端/后端并不完全相同。在無(wú)服務(wù)器架構(gòu)中,無(wú)服務(wù)器供應(yīng)商將資源托管并分配給所有服務(wù)器端進(jìn)程,并且這些進(jìn)程會(huì)隨著應(yīng)用程序使用量的增加而擴(kuò)展。

      什么是客戶端-服務(wù)器模型?

      大部分 Internet 都是基于客戶端-服務(wù)器模型。在此模型中,用戶設(shè)備通過(guò)網(wǎng)絡(luò)與位于中心的服務(wù)器進(jìn)行通信以獲取所需的數(shù)據(jù),而不是相互通信。膝上型電腦、智能手機(jī)和臺(tái)式計(jì)算機(jī)等終端用戶設(shè)備被視為服務(wù)器的“客戶端”,就好像它們是從公司獲得服務(wù)的客戶一樣。客戶端設(shè)備向服務(wù)器發(fā)送網(wǎng)頁(yè)或應(yīng)用程序請(qǐng)求,服務(wù)器提供響應(yīng)。

      使用客戶端-服務(wù)器模型是因?yàn)榉?wù)器通常比用戶設(shè)備更強(qiáng)大、更可靠。它們還不斷維護(hù)并保存在受控環(huán)境中,以確保它們始終處于開(kāi)啟狀態(tài)和可用狀態(tài);盡管個(gè)別服務(wù)器可能會(huì)出現(xiàn)故障,但通常有其他服務(wù)器支持它們。同時(shí),用戶可以打開(kāi)和關(guān)閉自己的設(shè)備,或者丟失或損壞自己的設(shè)備,不會(huì)影響其他用戶的互聯(lián)網(wǎng)服務(wù)。

      服務(wù)器可以同時(shí)服務(wù)多個(gè)客戶端設(shè)備,每個(gè)客戶端設(shè)備在訪問(wèn)和瀏覽互聯(lián)網(wǎng)的過(guò)程中向多個(gè)服務(wù)器發(fā)送請(qǐng)求。

      多個(gè)客戶端和服務(wù)器交互:

      海外服務(wù)器商-什么是客戶端和服務(wù)器端?-南華中天

      每個(gè)客戶端將與多個(gè)服務(wù)器通信,反之亦然。

      假設(shè)用戶正在瀏覽 Internet,并在他們的瀏覽器欄中鍵入“netflix.com”。這導(dǎo)致向DNS服務(wù)器請(qǐng)求netflix.com的IP 地址,DNS 服務(wù)器通過(guò)將 IP 地址提供給瀏覽器來(lái)響應(yīng)此請(qǐng)求。接下來(lái),用戶的瀏覽器向 Netflix 服務(wù)器(使用 IP 地址)發(fā)出請(qǐng)求以獲取頁(yè)面上顯示的內(nèi)容,例如電影縮略圖、Netflix 徽標(biāo)和搜索欄。Netflix 服務(wù)器將其傳遞給瀏覽器,瀏覽器將頁(yè)面加載到客戶端設(shè)備上。

      客戶端是什么意思?

      在 Web 開(kāi)發(fā)中,“客戶端”是指 Web 應(yīng)用程序中顯示或發(fā)生在客戶端(最終用戶設(shè)備)上的所有內(nèi)容。這包括用戶看到的內(nèi)容,例如文本、圖像和 UI 的其余部分,以及應(yīng)用程序在用戶瀏覽器中執(zhí)行的任何操作。

      HTML 和 CSS 等標(biāo)記語(yǔ)言由客戶端的瀏覽器解釋。此外,許多當(dāng)代開(kāi)發(fā)人員正在他們的應(yīng)用程序架構(gòu)中包含客戶端進(jìn)程,而不再在服務(wù)器端做所有事情。例如,動(dòng)態(tài)網(wǎng)頁(yè)的業(yè)務(wù)邏輯*通常在現(xiàn)代 Web 應(yīng)用程序中運(yùn)行客戶端。客戶端進(jìn)程幾乎總是用 JavaScript 編寫(xiě)的。

      在上面的 netflix.com 示例中,指示 Netflix 主頁(yè)如何呈現(xiàn)給用戶的 HTML、CSS 和 JavaScript 由客戶端的瀏覽器解釋。該頁(yè)面還可以響應(yīng)“事件”:例如,如果用戶的鼠標(biāo)懸停在其中一個(gè)電影縮略圖上,則圖像會(huì)展開(kāi),并且相鄰的縮略圖會(huì)稍微向一側(cè)移動(dòng),以便為更大的圖像騰出空間。這是客戶端進(jìn)程的示例;網(wǎng)頁(yè)中的代碼本身會(huì)響應(yīng)用戶的鼠標(biāo)并啟動(dòng)此操作,而無(wú)需與服務(wù)器通信。

      客戶端也稱(chēng)為前端,盡管這兩個(gè)術(shù)語(yǔ)并不完全相同。客戶端僅指進(jìn)程運(yùn)行的位置,而前端是指運(yùn)行客戶端的各種進(jìn)程。

      *動(dòng)態(tài)網(wǎng)頁(yè)是不會(huì)為所有用戶顯示相同內(nèi)容并根據(jù)用戶輸入進(jìn)行更改的網(wǎng)頁(yè)。Facebook主頁(yè)是動(dòng)態(tài)頁(yè)面;Facebook 登錄頁(yè)面大部分是靜態(tài)的。

      服務(wù)器端是什么意思?

      就像客戶端一樣,“服務(wù)器端”意味著發(fā)生在服務(wù)器上的所有事情,而不是客戶端。過(guò)去,幾乎所有的業(yè)務(wù)邏輯都運(yùn)行在服務(wù)器端,包括渲染動(dòng)態(tài)網(wǎng)頁(yè)、與數(shù)據(jù)庫(kù)交互、身份認(rèn)證和推送通知。

      在服務(wù)器端托管所有這些進(jìn)程的問(wèn)題在于,涉及其中一個(gè)的每個(gè)請(qǐng)求每次都必須從客戶端一直傳輸?shù)椒?wù)器。這引入了大量的延遲。出于這個(gè)原因,當(dāng)代應(yīng)用程序在客戶端運(yùn)行更多的代碼;一個(gè)用例是通過(guò)在瀏覽器中運(yùn)行腳本來(lái)實(shí)時(shí)呈現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè),這些腳本可以更改用戶看到的內(nèi)容。

      與“前端”和“客戶端”一樣,后端也是發(fā)生在服務(wù)器上的進(jìn)程的術(shù)語(yǔ),盡管后端僅指進(jìn)程的類(lèi)型,而服務(wù)器端指的是進(jìn)程運(yùn)行的位置。

      什么是客戶端腳本?什么是服務(wù)器端腳本?

      客戶端腳本僅僅意味著在客戶端設(shè)備上運(yùn)行腳本,例如 JavaScript,通常在瀏覽器中。用 JavaScript 編寫(xiě)的各種腳本都可以在客戶端運(yùn)行,因?yàn)?JavaScript 是普遍支持的。只有當(dāng)用戶的瀏覽器支持時(shí),才能使用其他腳本語(yǔ)言。

      服務(wù)器端腳本在服務(wù)器而不是客戶端上運(yùn)行,通常是為了向網(wǎng)頁(yè)提供動(dòng)態(tài)內(nèi)容以響應(yīng)用戶操作。服務(wù)器端腳本不必用 JavaScript 編寫(xiě),因?yàn)榉?wù)器可能支持多種語(yǔ)言。

      腳本在客戶端和服務(wù)器端運(yùn)行:

      海外服務(wù)器商-什么是客戶端和服務(wù)器端?-南華中天

      數(shù)據(jù)在客戶端和服務(wù)器之間來(lái)回傳遞,腳本可以在雙方運(yùn)行。

      服務(wù)器端進(jìn)程如何在無(wú)服務(wù)器架構(gòu)中工作?

      在無(wú)服務(wù)器計(jì)算中,所有服務(wù)器端或后端進(jìn)程仍然在服務(wù)器而不是客戶端設(shè)備上運(yùn)行,但它們并未部署在任何特定的服務(wù)器或一組服務(wù)器上。后端進(jìn)程被分解成的功能,這按需運(yùn)行,并自動(dòng)擴(kuò)大。開(kāi)發(fā)人員仍然可以在無(wú)服務(wù)器架構(gòu)中構(gòu)建通常在服務(wù)器端運(yùn)行的所有功能。