基礎(chǔ)知識

HTTP協(xié)議

我們?yōu)g覽網(wǎng)頁的瀏覽器和手機應(yīng)用客戶端與服務(wù)器通信幾乎都是基于HTTP協(xié)議,而爬蟲可以看作是一個另類的客戶端,它把自己偽裝成瀏覽器或者手機應(yīng)用客戶端,按照自己的邏輯貪婪的向服務(wù)器索取數(shù)據(jù),如何向服務(wù)器索取數(shù)據(jù),所以了解HTTP協(xié)議就顯得很有必要了。

HTTP協(xié)議中文名稱是超文本傳輸協(xié)議,是一個基于請求與響應(yīng)模式的、無狀態(tài)的、應(yīng)用層的協(xié)議,?;赥CP的連接方式。請求和響應(yīng)模式很好理解,客戶端發(fā)送請求,服務(wù)器響應(yīng)客戶端的請求,就像學校食堂打菜一樣,你和打菜阿姨說要哪份菜,她才會給你盛哪份菜。

無狀態(tài)是指協(xié)議對于事務(wù)處理沒有記憶能力。缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息,則它必須重傳,這樣可能導(dǎo)致每次連接傳送的數(shù)據(jù)量增大。另一方面,在服務(wù)器不需要先前信息時它的應(yīng)答就較快。形象點說,可以把服務(wù)器看成是沒有記憶的大學食堂打飯打菜,在每次請求中,阿姨并不知道你之前有沒有打過菜,也不知道你是不是合法的學生,所以你只能一邊舉著學生證一邊和阿姨說我要這個