python论坛app_理解python web开发,轻松搭建web app!
大家好,今天分享給大家的是理解python web開發,輕松搭建web app,希望大家學有所獲!
因為 python代碼的優雅美觀且易于維護這一特點,越來越多的人選擇使用 Python做web開發。而 Python的 Web框架百花齊放,目前比較流行的框架有大包大攬的 Django,小巧靈活的 Flask、 Bottle,還有性能高效的異步框架 Tornado、 sanic。這么多框架只要選擇一個,閱讀他的文檔,就可以很輕松的搭建一個 web app,完全不需要去管他實現的原理。
本篇文章意在對一個web開發做一個梳理。
我們打開瀏覽器輸入一個網址 yukunweb.com,然后就看到了瀏覽器給我們顯示的頁面,這個時候打開瀏覽器開發者工具,點擊 Network,刷新頁面,會看到下方的請求的 url,點擊 Response,就可以看到服務器返回給瀏覽器的 html文件信息了。如果復制 Response響應的內容,保存為 index.html并且在瀏覽器打開,依然可以看到首頁的內容,但是似乎缺少了一些頁面的樣式和功能。
這是因為當瀏覽器接收到首頁的 HTML源碼后,它會根據 HTML的規則去顯示頁面,然后再根據 HTML里的鏈接,自動發送HTTP請求給服務器,拿到相應的圖片,和 Java、 CSS等資源,最終顯示出一個完整的頁面。所以我們會在 Network下面能看到很多額外的以 .js, .css等后綴的請求了。
其實我們看到的頁面就是瀏覽器按照 HTML的規則,展示給我們的。 HTML告訴瀏覽器那里是導航,那里是主欄,那里是側欄。而這些信息如何顯示,或者是顯示的樣式,就是 CSS文件的功勞。至于比如導航的下拉隱藏上拉顯示就是 Java的作用。
如果想要做Web開發,就一定得熟悉 HTML、 CSS、 Java三劍客的知識,這里推薦W3school的前端教程,也是我學習前端的地方:W3school
客戶端和服務器通信
理解了前段三劍客,就知道如何去寫一個網頁。那么從我們在瀏覽器的地址欄輸入 URL,到 Web頁面呈現出來到底經歷了什么。
一般這種通過發送請求獲取服務器資源的Web瀏覽器,都可以稱為客戶端(client)。首先發送一個請求(request)給服務器,大多是以GET請求方式訪問,服務器接收到你的請求,然后取到請求的資源,返回給客戶端。
服務器和客戶端之間交流是怎么進行的呢,服務器是怎么理解客戶端的請求的呢。這里就需要一種協議規范,就是HTTP(HyperText Transfer Protocol,超文本傳輸協議)。可以說, Web是建立在 HTTP協議上通信的。
仍然是之前的例子,打開瀏覽器訪問 yukunweb.com,打開瀏覽器開發者工具,點擊圖中標記的選項卡(記得點view parsed),可以看到客戶端發給服務器的請求頭前兩行。
GET / HTTP/1.1Host: www.yukunweb.com
第一行開頭的GET表示請求訪問服務器的類型,稱為方法(method)。隨后的字符 /指明了請求訪問的資源對象,即請求URI。最后的 HTTP/1.1,即HTTP的版本號,用來提示客戶端使用的 HTTP協議功能。
綜上所述,第一行請求內容的意思是:請求訪問某臺 HTTP服務器上的 /(首頁)頁面資源。所以第二行的 Host表示請求的域名也就是服務器所在地址。
如果是 POST請求的話,不僅會有請求頭部信息,還有一個 Form Data的請求實體內容。
接收到請求的服務器呢,他會將請求內容的處理結果以響應的形式返回,看圖中的第一行:
開頭的部分仍然是服務器對應的 HTTP版本,緊接著的 200 OK表示請求的處理結果的狀態碼 (status code) 和原因短語。 200狀態碼就表示響應成功,常見的 404表示訪問錯誤, 500表示服務器響應錯誤。這里的 OK是沒有固定的規則的,你也可以讓他返回 GOOD啥的。
下一行是服務器信息,本站用的是 Nginx服務器,在下一行顯示了創建響應的日期時間。在下一行的 Content-Type表示內容的類型,客戶端會依賴他判斷響應的內容是網頁還是音頻,圖片等類型。
總結
以上是生活随笔為你收集整理的python论坛app_理解python web开发,轻松搭建web app!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python决策树可视化_「决策树」|
- 下一篇: 开一家奶茶店需要准备啥 尤其新人得看一下