當前位置:
首頁 > 知識 > 如何理解 Python Web 開發?

如何理解 Python Web 開發?

作者:俞坤

原文:https://www.yukunweb.com/2018/2/understand-python-web/

因為 代碼的優雅美觀且易於維護這一特點,越來越多的人選擇使用 做Web開發。而 的 框架百花齊放,目前比較流行的框架有大包大攬的 ,小巧靈活的 、 ,還有性能高效的非同步框架 、 。這麼多框架只要選擇一個,閱讀他的文檔,就可以很輕鬆的搭建一個 ,完全不需要去管他實現的原理。

本篇文章意在對一個web開發做一個梳理。


前端網頁三劍客

我們打開瀏覽器輸入一個網址 ,然後就看到了瀏覽器給我們顯示的頁面,這個時候打開瀏覽器開發者工具,點擊 ,刷新頁面,會看到下方的請求的 ,點擊 ,就可以看到伺服器返回給瀏覽器的 文件信息了。如果複製 響應的內容,保存為 並且在瀏覽器打開,依然可以看到首頁的內容,但是似乎缺少了一些頁面的樣式和功能。

這是因為當瀏覽器接收到首頁的 源碼後,它會根據 的規則去顯示頁面,然後再根據 里的鏈接,自動發送HTTP請求給伺服器,拿到相應的圖片,和 、 等資源,最終顯示出一個完整的頁面。所以我們會在 下面能看到很多額外的以 , 等後綴的請求了。

其實我們看到的頁面就是瀏覽器按照 的規則,展示給我們的。 告訴瀏覽器那裡是導航,那裡是主欄,那裡是側欄。而這些信息如何顯示,或者是顯示的樣式,就是 文件的功勞。至於比如導航的下拉隱藏上拉顯示就是 的作用。

如果想要做Web開發,就一定得熟悉 、 、 三劍客的知識,這裡推薦W3school的前端教程,也是我學習前端的地方:W3school


客戶端和伺服器通信

理解了前段三劍客,就知道如何去寫一個網頁。那麼從我們在瀏覽器的地址欄輸入 ,到 頁面呈現出來到底經歷了什麼。

如圖,一般這種通過發送請求獲取伺服器資源的Web瀏覽器,都可以稱為客戶端(client)。首先發送一個請求(request)給伺服器,大多是以GET請求方式訪問,伺服器接收到你的請求,然後取到請求的資源,返回給客戶端。

伺服器和客戶端之間交流是怎麼進行的呢,伺服器是怎麼理解客戶端的請求的呢。這裡就需要一種協議規範,就是HTTP(HyperText Transfer Protocol,超文本傳輸協議)。可以說, 是建立在 協議上通信的。

如圖,仍然是之前的例子,打開瀏覽器訪問 ,打開瀏覽器開發者工具,點擊圖中標記的選項卡(記得點view parsed),可以看到客戶端發給伺服器的請求頭前兩行。

第一行開頭的GET表示請求訪問伺服器的類型,稱為方法(method)。隨後的字元 指明了請求訪問的資源對象,即請求URI。最後的 ,即HTTP的版本號,用來提示客戶端使用的 協議功能。

綜上所述,第一行請求內容的意思是:請求訪問某台 伺服器上的 (首頁)頁面資源。所以第二行的 表示請求的域名也就是伺服器所在地址。

如圖,如果是 請求的話,不僅會有請求頭部信息,還有一個 的請求實體內容。

接收到請求的伺服器呢,他會將請求內容的處理結果以響應的形式返回,看圖中的第一行:

開頭的部分仍然是伺服器對應的 版本,緊接著的 表示請求的處理結果的狀態碼 (status code) 和原因短語。 狀態碼就表示響應成功,常見的 表示訪問錯誤, 表示伺服器響應錯誤。這裡的 是沒有固定的規則的,你也可以讓他返回 啥的。

下一行是伺服器信息,本站用的是 伺服器,在下一行顯示了創建響應的日期時間。在下一行的 表示內容的類型,客戶端會依賴他判斷響應的內容是網頁還是音頻,圖片等類型。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 編程派 的精彩文章:

Python 中查詢 sqlite3 的一些小技巧
小心你的 Linux 機器變身挖礦機器人

TAG:編程派 |