最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【re:從零開始的網(wǎng)站搭建教程】#2-請求數(shù)據(jù)的獲取

2021-09-13 21:30 作者:星與闇之痕  | 我要投稿

先來看一看更具體的一個http請求的結(jié)構(gòu)

http結(jié)構(gòu)

#http頭、http體

http頭里一般的是通信所需的默認數(shù)據(jù),而http體里是我們真正想要發(fā)送的數(shù)據(jù)。http頭有固定明確的格式,http的數(shù)據(jù)則是我們自己選擇的數(shù)據(jù),格式不固定。簡單的區(qū)分就是http的第一個空行前是頭,空行后是體。

由瀏覽器發(fā)給服務(wù)器的叫請求頭,反之則叫響應(yīng)頭。

#請求模式

從圖中可以看出瀏覽器發(fā)送的請求中的第一行是GET / HTTP/1.1,其中GET是請求的模式,除了GET以外還有POST,PUT,DELET等等。如果你學(xué)過數(shù)據(jù)庫你可以把GET、POST、PUT、DELET分別理解為數(shù)據(jù)庫操作的查、改、增、刪這些操作。在http中沒有這么嚴格,你可以根據(jù)情況任意選擇模式。GET和POST請求已經(jīng)足夠完成所有事情,我們目前就只需要研究GET和POST就夠了。

1.GET

GET請求一般用于請求頁面,有大小限制。限制多少根據(jù)瀏覽器和服務(wù)器不同而不同,不要超過2kb為佳。GET的數(shù)據(jù)一般在http頭中,不建議用GET來傳輸大量數(shù)據(jù)和敏感數(shù)據(jù)。

2.POST

POST請求一般用于提交數(shù)據(jù),無大小限制。不過在某些服務(wù)器中為了性能會限制大小,但POST本身是沒有大小限制的。POST的數(shù)據(jù)一般在http體中,傳輸大量數(shù)據(jù)使用POST。

#HTTP頭項目簡析

一、請求頭

1.GET / HTTP/1.1

GET / HTTP/1.1是請求頭的第一行,也是最重要的一行。

其中第一個為請求模式,這里是GET請求;第二個為目錄,是在域名后跟的用/劃分的一串,只有一個斜杠表示網(wǎng)站的根目錄,假如說訪問的不是index這個目錄的話那就是/index,整個第一行也就變成GET /index?HTTP/1.1;最后的HTTP/1.1表示當(dāng)前http協(xié)議的版本。

2.Cookie

這也是相當(dāng)重要的一行,保持登錄狀態(tài)、驗證用戶身份需要靠它。

3.Range

這個沒有前兩個重要,在視頻播放、斷點續(xù)傳會用到。

二、響應(yīng)頭

HTTP/1.1 200 OK

HTTP/1.1表示當(dāng)前http協(xié)議的版本;200表示響應(yīng)碼;OK是響應(yīng)信息。

(1)響應(yīng)碼

常用的有:

1開頭表示需要做出一些改變

HTTP/1.1?101?Switching?Protocols (切換協(xié)議)

2開頭表示服務(wù)器收到并且成功解析、執(zhí)行數(shù)據(jù)

HTTP/1.1?200 OK (成功)

HTTP/1.1?205?Reset?Content (成功,但不用刷新頁面)

HTTP/1.1?206?Partial?Content (成功,數(shù)據(jù)為追加的數(shù)據(jù))

4開頭表示用戶發(fā)送的數(shù)據(jù)存在問題,和服務(wù)器無關(guān)

HTTP/1.1?400?Bad?Request (失敗,http請求格式錯誤)

HTTP/1.1?404?Not?Found (失敗,所請求的文件和頁面不存在)

HTTP/1.1?405?Method?Not?Allowed (失敗,不支持的請求模式)

HTTP/1.1?414?Request-URI?Too?Large (失敗,請求太龐大)

5開頭表示服務(wù)器出現(xiàn)問題

HTTP/1.1?500?Internal?Server?Error (錯誤,服務(wù)器內(nèi)部錯誤)

2.Server

不是必要項目,是服務(wù)器程序的名字。

3.content-type

這一項規(guī)定了文件的格式和瀏覽器解析時的文本編碼,若沒有正確設(shè)置瀏覽器則無法正確渲染頁面,并且可能出現(xiàn)亂碼。

#編寫程序接收瀏覽器的請求數(shù)據(jù)

啟動剛剛編寫的文件,打開瀏覽器,地址欄輸入127.0.0.1,看到打印了這個

不太好看,手動格式化一下

發(fā)現(xiàn)每一行最后都是\r\n,最后一個空行也有\(zhòng)r\n。在編程語言中往往用\r表示回車\n表示換行,雖然直接\n就能換行,但\r\n才時一個標準的換行。

所以在python中區(qū)分請求頭是否結(jié)束就找有沒有出現(xiàn)\r\n\r\n就行了。

修改一下剛剛的代碼就可以截取請求頭了

不過于后面沒有更多的數(shù)據(jù),看不出太多效果。

【re:從零開始的網(wǎng)站搭建教程】#2-請求數(shù)據(jù)的獲取的評論 (共 條)

分享到微博請遵守國家法律
宽城| 阿图什市| 伊川县| 奈曼旗| 琼海市| 民县| 绵竹市| 岱山县| 岳阳县| 云浮市| 康保县| 镶黄旗| 监利县| 泸定县| 梁河县| 宿迁市| 西安市| 三明市| 资源县| 卓尼县| 西宁市| 彩票| 无锡市| 淮阳县| 德安县| 宿州市| 普陀区| 左权县| 阿城市| 朔州市| 阿勒泰市| 信丰县| 正镶白旗| 湖州市| 芜湖市| 任丘市| 麻栗坡县| 汉寿县| 依兰县| 富蕴县| 延寿县|