2015-04-04 43 views
1

我想在客戶端和服務器端的層面上理解計算機語言。據我所知,客戶端代碼(HTML,CSS和Javascript)全部內置在瀏覽器中,並且可以在沒有互聯網連接的情況下被理解。我的瀏覽器能夠理解哪些計算機語言?

但是,假設我使用Python或Ruby構建了一個簡單的博客應用程序。在將服務器發送回客戶端之前,我的服務器是否具有如何分解Python和Ruby代碼的唯一知識?如果是這樣,那麼服務器如何在將代碼發送回客戶端/瀏覽器以便理解之前編譯/解釋代碼?

請幫我理解這一點。

+0

您的python或ruby代碼必須生成html/css/javascript - 所有瀏覽器只支持這3種語言 – 2015-04-04 00:39:28

+0

所以基本上我的服務器代碼正在以一種讓瀏覽器在幕後理解的方式進行編譯? – 2015-04-04 00:40:13

+0

不,你的代碼生成/生成/輸出HTML作爲其在服務器上執行的一部分 – 2015-04-04 00:41:03

回答

2

這是一個非常普遍和廣泛響應:

web服務器(服務器)和和瀏覽器(客戶端)如Firefox將通過發送文本以彼此通信。這個'文本'發送的方法是由一組規則或稱爲超文本傳輸​​協議(HTTP)的協議來描述的。

HTTP響應包含「body」字段。這個正文包含文本。服務器可以發送任何文本到它想要的客戶端。客戶端如何呈現文本取決於客戶端。該文本可以採用HTML,CSS,JAVASCRIPT,中文,數字的形式..... 所以如果服務器發送給客戶端的文本是HTML格式,客戶端將渲染它。 CSS和Javascript也是如此。

但是,服務器如何知道要發送給客戶端? 簡而言之,構建網站並擁有服務器的人員將代碼放到服務器上,並說'當您收到請求時用這些東西迴應客戶。'

等等,那麼Python/Ruby/Java等和那些被用來編寫服務器的語言有什麼關係呢? 服務器是程序,它接受'請求'並處理決定如何響應的邏輯以及響應的內容。然而,響應包含的實際內容與用於處理響應的語言無關。