1.www(World Wide Web)由李爵士發(fā)明,適用于全世界的網(wǎng)絡(luò)牙捉,主要包含三個(gè)概念状囱。
URI(Uniform?Resource?Identifier) ,俗稱(chēng)網(wǎng)址
HTTP(HyperText Transfer Protocol),兩個(gè)電腦間用來(lái)傳輸內(nèi)容的協(xié)議
HTML(HyperText Markup Launguage),文本標(biāo)記語(yǔ)言氛琢,用來(lái)作為頁(yè)面的跳轉(zhuǎn)
2.URI分為URL(Uniform Resource Locator)和URN(Uniform Resource Name),其中URL一般用來(lái)作為網(wǎng)址随闪,URN為特定內(nèi)容的唯一名稱(chēng)阳似,URL又有協(xié)議+域名+路徑+查詢(xún)參數(shù)+錨點(diǎn)組成。
3.DNS(Domain Name System)域名系統(tǒng)铐伴,用來(lái)輸入域名和輸出IP
比如通過(guò)nslookup 查詢(xún)某網(wǎng)站的ip地址(由運(yùn)營(yíng)商告知撮奏,需要聯(lián)網(wǎng))
當(dāng)你訪(fǎng)問(wèn)一個(gè)網(wǎng)站,你首先是向DNS請(qǐng)求這個(gè)網(wǎng)站的地址盛杰,然后DNS會(huì)返回你一個(gè)網(wǎng)站的地址挽荡。
可以通過(guò)修改hosts來(lái)訪(fǎng)問(wèn)網(wǎng)站
4.瀏覽器負(fù)責(zé)發(fā)起請(qǐng)求/服務(wù)器在80端口接受請(qǐng)求/服務(wù)器返回內(nèi)容(響應(yīng))/瀏覽器負(fù)責(zé)下載響應(yīng)內(nèi)容
5.發(fā)起請(qǐng)求:curl -s -v -H "Frank: xxx" -- "https://www.baidu.com"
請(qǐng)求的內(nèi)容為:
GET / HTTP/1.1
Host: www.baidu.com
User-Agent: curl/7.54.0
Accept: */*
Frank: xxx
將get 改為post,再次發(fā)起請(qǐng)求(報(bào)錯(cuò))
curl -X POST -s -v -H "Frank: xxx" -- "https://www.baidu.com"
請(qǐng)求的內(nèi)容為
POST / HTTP/1.1
Host: www.baidu.com
User-Agent: curl/7.54.0
Accept: */*
Frank: xxx
再post后面加一串?dāng)?shù)據(jù)curl -X POST -d "1234567890" -s -v -H "Frank: xxx" -- "https://www.baidu.com"(上傳了1234567890)
請(qǐng)求的內(nèi)容為
POST / HTTP/1.1
Host: www.baidu.com
User-Agent: curl/7.54.0
Accept: */*
Frank: xxx
Content-Length: 10(字節(jié)長(zhǎng)度為10)
Content-Type: application/x-www-form-urlencoded(上傳的類(lèi)型)
1234567890
6.請(qǐng)求答疑:get(請(qǐng)求)即供,post(上傳)
請(qǐng)求的格式為:
1 動(dòng)詞 路徑 協(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(空格)
4 要上傳的數(shù)據(jù)
注意點(diǎn):
請(qǐng)求最多包含四部分定拟,最少包含三部分。(也就是說(shuō)第四部分可以為空)
第三部分永遠(yuǎn)都是一個(gè)回車(chē)(\n)
動(dòng)詞有 GET POST PUT PATCH DELETE HEAD OPTIONS 等
這里的路徑包括「查詢(xún)參數(shù)」逗嫡,但不包括「錨點(diǎn)」
如果你沒(méi)有寫(xiě)路徑青自,那么路徑默認(rèn)為 /
第 2 部分中的 Content-Type 標(biāo)注了第 4 部分的格式
7.用Chrome來(lái)發(fā)送請(qǐng)求
打開(kāi) Network
地址欄輸入網(wǎng)址
在 Network 點(diǎn)擊,查看 request驱证,點(diǎn)擊「view source」
點(diǎn)擊「view source」
終于點(diǎn)了延窜?可以看到請(qǐng)求的前三部分了
如果有請(qǐng)求的第四部分,那么在 FormData 或 Payload 里面可以看到
8.響應(yī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)容(很長(zhǎng)很長(zhǎng))
常見(jiàn)狀態(tài)碼
1xx 不常用
2xx 表示成功(200成功抹锄,204創(chuàng)建成功)
3xx 表示滾吧(301-永久搬走逆瑞,302暫時(shí)搬走)
4xx 表示你丫錯(cuò)了
5xx 表示好吧荠藤,我錯(cuò)了
9.用 Chrome 查看響應(yīng)
打開(kāi) Network
輸入網(wǎng)址
選中第一個(gè)響應(yīng)
查看 Response Headers,點(diǎn)擊「view source」获高,點(diǎn)擊「view source」哈肖,點(diǎn)擊「view source」
你會(huì)看到響應(yīng)的前兩部分
查看 Response 或者 Preview,你會(huì)看到響應(yīng)的第 4 部分