標籤:記錄 http jpg 表示 其他 bubuko 處理 方式 除了
隨著接觸web開發的時間增長,自己也對http請求有了自己的見解,但都是自己理解,不一定十分正確,在此記錄下來,方便以後更加深入學習後,用來對比與現在理解上的差異。
我們都知道,在伺服器中需要定義url與視圖函數的映射關係,那什麼是映射關係呢?
假設現在定義了的url與視圖函數的映射關係,現在我在瀏覽器中輸入url=http://127.0.0.1/index/,這時候瀏覽器就會向伺服器發送一個請求--->>伺服器接收到請求---->>解析要求標頭----->發現請求url是index/---->>查詢url-視圖函數映射表,如果發現了url,則調用對應的視圖函數(此處是views.index)處理這個請求,並將處理完的結果返回瀏覽器,如果沒有發現對應的url,則返回404,表示沒有找到相應的資源。
這個過程就好比是,你現在是一個顧客(瀏覽器),得知某個商店(視圖函數)有你需要的商品(請求的資源),那麼在你得知商店地址(url),你就會過去商店(發起請求),向商店說出你要的商品,然後商店找出商品(處理請求),然後賣給你(響應請求)。但是,商店覺得賣的商品太單一了,除了原來的日用品(get),現在還增加首飾(post),電子裝置(put)等各種商品(http中的其他請求方式,例如delete等)。這時候你再到店買商品(請求來到視圖函數),就要告訴商店,我要買xxx日用品(要求標頭中是get請求方式),這時候商店中負責日用品的店員就會為你找到xxx日用品,並賣給你。然後過了一段時間,又想去同一家店買東西了,還是按照原來的地址(url)去到商店(視圖函數),這時候發現商店居然搬走了,這時候地址與商店的映射關係就消失了,沒有商店處理你要買商品的請求了,這時候就相當於404狀態代碼了,如果店家在門口貼著新地址,那麼你就可以去新地址找到商店,這就相當於302狀態代碼了。
一個http請求完整過程的個人理解