摘要:入門一在中查看請(qǐng)求與響應(yīng)本文簡(jiǎn)單總結(jié)的請(qǐng)求與響應(yīng)。服務(wù)器與瀏覽器的交互瀏覽器負(fù)責(zé)發(fā)起請(qǐng)求服務(wù)器在端口接收請(qǐng)求服務(wù)器負(fù)責(zé)返回內(nèi)容響應(yīng)瀏覽器負(fù)責(zé)下載響應(yīng)內(nèi)容協(xié)議的作用就是指導(dǎo)瀏覽器和服務(wù)器如何進(jìn)行溝通。請(qǐng)求使用來(lái)在里創(chuàng)造一個(gè)請(qǐng)求,并得到響應(yīng)。
HTTP入門(一):在Bash中curl查看請(qǐng)求與響應(yīng)
服務(wù)器與瀏覽器的交互本文簡(jiǎn)單總結(jié)HTTP的請(qǐng)求與響應(yīng)。
本文主要目的是對(duì)學(xué)習(xí)內(nèi)容進(jìn)行總結(jié)以及方便日后查閱。
詳細(xì)教程和原理可以參考HTTP文檔(MDN)。
本文版權(quán)歸馬濤濤所有。
本文所引用的圖片和文字版權(quán)歸原作者所有,侵權(quán)刪。
如有錯(cuò)誤請(qǐng)?jiān)谙路皆u(píng)論區(qū)指出,歡迎積極討論。
瀏覽器負(fù)責(zé)發(fā)起請(qǐng)求
服務(wù)器在 80 端口接收請(qǐng)求
服務(wù)器負(fù)責(zé)返回內(nèi)容(響應(yīng))
瀏覽器負(fù)責(zé)下載響應(yīng)內(nèi)容
HTTP協(xié)議 的作用就是指導(dǎo)瀏覽器和服務(wù)器如何進(jìn)行溝通。
請(qǐng)求使用curl -s -v -H "Mtt: xxx" -- https://www.baidu.com來(lái)在Bash里創(chuàng)造一個(gè)請(qǐng)求,并得到響應(yīng)。
命令行釋義
截圖:
-s:簡(jiǎn)短的信息
-v:> 表示請(qǐng)求, < 表示響應(yīng)
-H:添加一個(gè)響應(yīng)頭
請(qǐng)求與響應(yīng)截圖:
請(qǐng)求內(nèi)容:
> GET / HTTP/1.1 GET方法發(fā)送請(qǐng)求,獲取默認(rèn)根目錄,使用http1.1協(xié)議 > Host: www.baidu.com 主機(jī) > User-Agent: curl/7.58.0 用curl7.58這個(gè)東西發(fā)送的請(qǐng)求 > Accept: */* 接受服務(wù)器返回的任何內(nèi)容 > Frank: xxx > 有一個(gè)回車不同參數(shù)測(cè)試
curl -X POST -s -v -H "Frank: xxx" -- "https://www.baidu.com"測(cè)試
請(qǐng)求的內(nèi)容為
POST / HTTP/1.1 因?yàn)?x改成了post Host: www.baidu.com User-Agent: curl/7.54.0 Accept: */* Frank: xxx
curl -X POST -d "1234567890" -s -v -H "Frank: xxx" -- https://www.baidu.com測(cè)試
請(qǐng)求的內(nèi)容為
POST / HTTP/1.1 Host: www.baidu.com User-Agent: curl/7.54.0 Accept: */* Frank: xxx Content-Length: 10 內(nèi)容長(zhǎng)度為是10 Content-Type: application/x-www-form-urlencoded 1234567890
"-d 1234567890":我要往百度上傳數(shù)據(jù)1234567890
Content-Length: 10 : 內(nèi)容長(zhǎng)度為是10
Content-Type:我要上傳內(nèi)容的格式
Get是獲取,只看瀏覽器內(nèi)容,不做其他的事
post是發(fā)表,上傳的意思。例如說(shuō)我要注冊(cè)登錄,就把數(shù)據(jù)寫在-d里面,然后請(qǐng)求的時(shí)候就直接上傳了。
1 動(dòng)詞 路徑(HTTP規(guī)定必須以/開頭) 協(xié)議/版本 2 Key1: value1 2 Key2: value2 2 Key3: value3 2 Content-Type: application/x-www-form-urlencoded 2 Host: www.baidu.com 2 User-Agent: curl/7.54.0 3 (永遠(yuǎn)是回車,用來(lái)區(qū)分二四部分) 4 要上傳的數(shù)據(jù)
請(qǐng)求最多包含四部分,最少包含三部分。(也就是說(shuō)第四部分可以為空)
第三部分永遠(yuǎn)都是一個(gè)回車(n)
動(dòng)詞有 GET POST PUT(整體更新) PATCH(部分更新) DELETE(刪除一些東西) HEAD OPTIONS 等
這里的路徑包括「查詢參數(shù)」,但不包括「錨點(diǎn)」(服務(wù)器不看錨點(diǎn),只看路徑)
如果你沒(méi)有寫路徑,那么路徑默認(rèn)為 /
第 2 部分中的 Content-Type 標(biāo)注了第 4 部分的格式
響應(yīng)上面三個(gè)請(qǐng)求示例,前兩個(gè)請(qǐng)求對(duì)應(yīng)的響應(yīng)分別為
HTTP/1.1 200 OK Accept-Ranges: bytes Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform Connection: Keep-Alive Content-Length: 2443 Content-Type: text/html(百度返回的時(shí)候百度的數(shù)據(jù)長(zhǎng)度和內(nèi)容的格式) Date: Tue, 10 Oct 2017 09:14:05 GMT Etag: "5886041d-98b" Last-Modified: Mon, 23 Jan 2017 13:24:45 GMT Pragma: no-cache Server: bfe/1.0.8.18 Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/ 后面太長(zhǎng),省略了……
HTTP/1.1 302 Found Connection: Keep-Alive Content-Length: 17931 Content-Type: text/html Date: Tue, 10 Oct 2017 09:19:47 GMT Etag: "54d9749e-460b" Server: bfe/1.0.8.18 后面太長(zhǎng),省略了……
GET 請(qǐng)求和 POST 請(qǐng)求對(duì)應(yīng)的響應(yīng)可以一樣,也可以不一樣
響應(yīng)的第四部分可以很長(zhǎng)
響應(yīng)的格式1 協(xié)議/版本號(hào) 狀態(tài)碼 狀態(tài)解釋 2 Key1: value1 2 Key2: value2 2 Content-Length: 17931 2 Content-Type: text/html 3 4 要下載的內(nèi)容
? 狀態(tài)碼是服務(wù)器對(duì)瀏覽器說(shuō)的話,詳情請(qǐng)看維基百科HTTP狀態(tài)碼
? 1xx 不常用
? 2xx 表示成功 200成功(get) 204創(chuàng)建成功(post)
? 3xx 表示滾吧 301(以前的人搬走了,搬去哪里會(huì)在第二部分location的一個(gè)key:value里該訴你) 302(外出了,過(guò)幾天才會(huì)回來(lái)表示服務(wù)器臨時(shí)不在)
? 4xx 表示你丫錯(cuò)了(肯定是訪問(wèn)者出錯(cuò),比如說(shuō)你輸入了錯(cuò)誤的地址)
? 5xx 表示好吧,我錯(cuò)了(表示服務(wù)器錯(cuò)了)
? 第 2 部分中的 Content-Type 標(biāo)注了第 4 部分的格式
? 第 2 部分中的 Content-Type 遵循 MIME 規(guī)范
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/52078.html
摘要:它作為將域名和地址相互映射的一個(gè)分布式數(shù)據(jù)庫(kù),能夠使人更方便地訪問(wèn)互聯(lián)網(wǎng)。當(dāng)前,對(duì)于每一級(jí)域名長(zhǎng)度的限制是個(gè)字符,域名總長(zhǎng)度則不能超過(guò)個(gè)字符。二請(qǐng)求與響應(yīng)作用的作用就是指導(dǎo)瀏覽器和服務(wù)器如何進(jìn)行溝通。 一、WWW概念WWW(World Wide Web),主要包括三部分概念URI,俗稱網(wǎng)址HTTP,兩個(gè)電腦之間傳輸內(nèi)容的協(xié)議HTML,超級(jí)文本,主要用來(lái)做頁(yè)面跳轉(zhuǎn)解釋:URL 的作用是能...
摘要:它作為將域名和地址相互映射的一個(gè)分布式數(shù)據(jù)庫(kù),能夠使人更方便地訪問(wèn)互聯(lián)網(wǎng)。當(dāng)前,對(duì)于每一級(jí)域名長(zhǎng)度的限制是個(gè)字符,域名總長(zhǎng)度則不能超過(guò)個(gè)字符。二請(qǐng)求與響應(yīng)作用的作用就是指導(dǎo)瀏覽器和服務(wù)器如何進(jìn)行溝通。 一、WWW概念WWW(World Wide Web),主要包括三部分概念URI,俗稱網(wǎng)址HTTP,兩個(gè)電腦之間傳輸內(nèi)容的協(xié)議HTML,超級(jí)文本,主要用來(lái)做頁(yè)面跳轉(zhuǎn)解釋:URL 的作用是能...
閱讀 3081·2019-08-30 15:56
閱讀 1238·2019-08-29 15:20
閱讀 1577·2019-08-29 13:19
閱讀 1480·2019-08-29 13:10
閱讀 3387·2019-08-26 18:27
閱讀 3073·2019-08-26 11:46
閱讀 2237·2019-08-26 11:45
閱讀 3765·2019-08-26 10:12