【Python入門】45.Web開發之 HTTP協議簡介

摘要:介紹Web開發的幾個發展階段;HTTP協議簡介,請求信息、響應信息的分析;HTTP工作原理。


*寫在前面:為了更好的學習python,博主記錄下自己的學習路程。本學習筆記基于廖雪峰的Python教程,如有侵權,請告知刪除。歡迎與博主一起學習Pythonヽ( ̄▽ ̄)? *


目錄

Web開發
HTTP協議簡介
HTTP請求信息
HTTP響應信息
HTTP工作原理
小結

Web開發

如今,很多軟件都是以web形式提供,比如新浪微博、網易新聞等等??梢哉f,Web應用開發是目前軟件開發中最重要的部分。

Web開發經歷了幾個階段:

1.靜態Web頁面,直接顯示靜態的HTML頁面,修改頁面則要編輯HTML源文件,早期的互聯網頁面就是靜態的。
2.出現CGI,Common Gateway Interface。頁面可以處理用戶發送的動態數據,比如用戶注冊。CGI用C/C++編寫。
3.出現ASP/JSP/PHP。由于Web應用修改頻率高,C/C++這樣的低級語言不適合Web開發。而腳本語言開發效率高,且與HTML結合緊密,因此迅速取代了CGI。ASP是微軟推出的用VBScript腳本編程的Web開發技術,JSP是用Java來編寫腳本,PHP本身是開源的腳本語言。
4.出現MVC,Model-View-Controller。為了提高Web的可維護性,引入了“模型-視圖-控制器”的模式,簡化了Web開發。
5.現階段,Web開發技術仍在快速發展,如異步開發等。

Python是一種解釋型的腳本語言,開發效率高,而且有許多Web開發框架以及成熟的模板技術,非常適合用來做Web開發。

HTTP協議簡介

HTTP協議(Hyper Text Transfer Protocol),字面意思為超文本傳輸協議。是瀏覽器與服務器之間的傳輸協議。

用戶通過瀏覽器向服務器發送HTTP請求信息(Request),服務器收到請求后,向瀏覽器發送響應信息(Response)

我們用例子分析一下請求信息與響應信息具體是怎么樣的。

HTTP請求信息

用瀏覽器打開網頁之后,按F12,會出現一個開發者工具界面,在里面可以看到網頁的結構、通信信息等。

我們以163網易為例,在進入網易官網后,按F12,在出現的界面中選擇network,然后在左側選擇第一個文件,之后右側就會顯示相關信息,點擊view source可以看到具體的信息。


HTTP_1.png

我們截取部分信息來分析一下。

先來看請求信息:

GET / HTTP/1.1
Host: www.163.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36 LBBROWSER
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Referer: http://www.163.com/
Accept-Encoding: gzip, deflate, sdch, br
Accept-Language: zh-CN,zh;q=0.8

第一部分,是請求行。說明請求類型、訪問資源以及HTTP版本。在這里是第一行。
GET表示請求類型是GET請求,/表示URL路徑,/是首頁,HTTP/1.1表示采用的HTTP協議是1.1版本.

第二部分,是請求頭部。說明服務器要使用的附加信息。在這里第一行往后都屬于這一部分。
其中Host表示請求的域名。

第三部分,空行。請求頭部后面的空行是必須的。

第四部分,請求數據。這里沒有請求數據。

HTTP響應信息

我們再來看一下響應信息部分:

HTTP/1.1 200 OK
Expires: Thu, 20 Sep 2018 07:39:34 GMT
Date: Thu, 20 Sep 2018 07:38:14 GMT
Server: nginx
Content-Type: text/html; charset=GBK
Transfer-Encoding: chunked
Vary: Accept-Encoding,User-Agent,Accept
Cache-Control: max-age=80
Content-Encoding: gzip
X-Via: 1.1 PSgdmmsxsw84:1 (Cdn Cache Server V2.0), 1.1 PSgdzsydzd33:0 (Cdn Cache Server V2.0)
Connection: keep-alive

第一部分,狀態行。說明HTTP版本、信息狀態碼和狀態信息。這里是第一行。
狀態碼200表示請求成功。

第二部分,信息報頭。說明客戶端要使用的一些附加信息。第一行后面的都是。
其中Content-Type表示響應的內容,text/html表示HTML網頁。

第三部分,空行。消息報頭后面的空行是必須的。

第四部分,響應正文。即HTML源碼。
我們在開發者工具中點擊Response,就能看到:

HTTP_2.png

HTTP工作原理

看了HTTP的請求信息和響應信息,我們來總結一下HTTP的工作原理。

第一步,建立連接
瀏覽器與Web服務器的端口建立一個TCP連接。

第二步,發送HTTP請求。
瀏覽器向服務器發送HTTP請求,包括請求方法、路徑、域名以及其他相關Header。

第三步,接收HTTP請求并返回響應信息
Web服務器解析請求,并返回響應信息,包括響應狀態、響應類型、其他相關Header以及響應正文。

第四步,釋放連接或繼續請求。
若connection為close,則Web服務器主動斷開連接;若connection為keepalive,則Web服務器繼續等待請求。

第五步,解析響應信息。
瀏覽器解析響應信息,包括響應頭和響應正文。最終解析HTML文本并顯示出來。

小結

想要詳細了解HTTP協議,可以看HTTP權威指南 (廖雪峰推薦)


以上就是本節的全部內容,感謝你的閱讀。

下一節內容:Web開發之 HTML簡介

有任何問題與想法,歡迎評論與吐槽。

和博主一起學習Python吧( ̄▽ ̄)~*

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,428評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,024評論 3 413
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 175,285評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,548評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,328評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,878評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,971評論 3 439
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,098評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,616評論 1 331
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,554評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,725評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,243評論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 43,971評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,361評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,613評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,339評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,695評論 2 370

推薦閱讀更多精彩內容