一、HTTP協(xié)議狀態(tài)碼
1xx:指示信息–表示請(qǐng)求已接收钙蒙,繼續(xù)處理。
2xx:成功–表示請(qǐng)求已被成功接收间驮、理解躬厌、接受。
3xx:重定向–要完成請(qǐng)求必須進(jìn)行更進(jìn)一步的操作蜻牢。
4xx:客戶端錯(cuò)誤–請(qǐng)求有語(yǔ)法錯(cuò)誤或請(qǐng)求無(wú)法實(shí)現(xiàn)烤咧。
5xx:服務(wù)器端錯(cuò)誤–服務(wù)器未能實(shí)現(xiàn)合法的請(qǐng)求。
200(成功) 服務(wù)器已成功處理了請(qǐng)求抢呆。通常煮嫌,這表示服務(wù)器提供了請(qǐng)求的網(wǎng)頁(yè)。
204(無(wú)內(nèi)容) 服務(wù)器成功處理了請(qǐng)求抱虐,但未返回任何內(nèi)容昌阿。
206(部分內(nèi)容) 服務(wù)器成功處理了部分 GET 請(qǐng)求。
301(永久移動(dòng)) 請(qǐng)求的網(wǎng)頁(yè)已被永久移動(dòng)到新位置恳邀。服務(wù)器返回此響應(yīng)時(shí)懦冰,會(huì)自動(dòng)將請(qǐng)求者轉(zhuǎn)到新位置。您應(yīng)使用此代碼通知搜索引擎蜘蛛網(wǎng)頁(yè)或網(wǎng)站已被永久移動(dòng)到新位置谣沸。
302(臨時(shí)移動(dòng)) 服務(wù)器目前正從不同位置的網(wǎng)頁(yè)響應(yīng)請(qǐng)求刷钢,但請(qǐng)求者應(yīng)繼續(xù)使用原有位置來(lái)進(jìn)行以后的請(qǐng)求。會(huì)自動(dòng)將請(qǐng)求者轉(zhuǎn)到不同的位置乳附。但由于搜索引擎會(huì)繼續(xù)抓取原有位置并將其編入索引内地,因此您不應(yīng)使用此代碼來(lái)告訴搜索引擎頁(yè)面或網(wǎng)站已被移動(dòng)伴澄。
303(查看其他位置) 當(dāng)請(qǐng)求者應(yīng)對(duì)不同的位置進(jìn)行單獨(dú)的 GET 請(qǐng)求以檢索響應(yīng)時(shí),服務(wù)器會(huì)返回此代碼阱缓。對(duì)于除 HEAD 請(qǐng)求之外的所有請(qǐng)求非凌,服務(wù)器會(huì)自動(dòng)轉(zhuǎn)到其他位置。
304(未修改) 自從上次請(qǐng)求后荆针,請(qǐng)求的網(wǎng)頁(yè)未被修改過(guò)敞嗡。服務(wù)器返回此響應(yīng)時(shí),不會(huì)返回網(wǎng)頁(yè)內(nèi)容航背。
如果網(wǎng)頁(yè)自請(qǐng)求者上次請(qǐng)求后再也沒有更改過(guò)喉悴,您應(yīng)當(dāng)將服務(wù)器配置為返回此響應(yīng)。由于服務(wù)器可以告訴 搜索引擎自從上次抓取后網(wǎng)頁(yè)沒有更改過(guò)沃粗,因此可節(jié)省帶寬和開銷粥惧。
307(臨時(shí)重定向) 服務(wù)器目前正從不同位置的網(wǎng)頁(yè)響應(yīng)請(qǐng)求,但請(qǐng)求者應(yīng)繼續(xù)使用原有位置來(lái)進(jìn)行以后的請(qǐng)求最盅。會(huì)自動(dòng)將請(qǐng)求者轉(zhuǎn)到不同的位置突雪。但由于搜索引擎會(huì)繼續(xù)抓取原有位置并將其編入索引,因此您不應(yīng)使用此代碼來(lái)告訴搜索引擎某個(gè)頁(yè)面或網(wǎng)站已被移動(dòng)涡贱。
400(錯(cuò)誤請(qǐng)求) 服務(wù)器不理解請(qǐng)求的語(yǔ)法咏删。
401(身份驗(yàn)證錯(cuò)誤) 此頁(yè)要求授權(quán)。您可能不希望將此網(wǎng)頁(yè)納入索引问词。
403(禁止督函,非法) 服務(wù)器拒絕請(qǐng)求。
404(未找到) 服務(wù)器找不到請(qǐng)求的網(wǎng)頁(yè)激挪。
500(服務(wù)器內(nèi)部錯(cuò)誤辰狡,常見數(shù)據(jù)庫(kù)權(quán)限過(guò)期等) 服務(wù)器遇到錯(cuò)誤,無(wú)法完成請(qǐng)求垄分。
502(錯(cuò)誤網(wǎng)關(guān)) 服務(wù)器作為網(wǎng)關(guān)或代理宛篇,從上游服務(wù)器收到了無(wú)效的響應(yīng)。
503(服務(wù)不可用) 目前無(wú)法使用服務(wù)器(由于超載或進(jìn)行停機(jī)維護(hù))薄湿。通常叫倍,這只是一種暫時(shí)的狀態(tài)。
二豺瘤、OSI七層模型
功能:OSI 七層模型通過(guò)七個(gè)層次化的結(jié)構(gòu)模型使不同的系統(tǒng)不同的網(wǎng)絡(luò)之間實(shí)現(xiàn)可靠的通訊吆倦。
7.應(yīng)用層
網(wǎng)絡(luò)服務(wù)與最終用戶的一個(gè)接口。
協(xié)議有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP
6.表示層
數(shù)據(jù)的表示坐求、安全蚕泽、壓縮。(在五層模型里面已經(jīng)合并到了應(yīng)用層)
格式有桥嗤,JPEG赛糟、ASCll派任、DECOIC、加密格式等
5.會(huì)話層
建立璧南、管理、終止會(huì)話师逸。(在五層模型里面已經(jīng)合并到了應(yīng)用層)
對(duì)應(yīng)主機(jī)進(jìn)程司倚,指本地主機(jī)與遠(yuǎn)程主機(jī)正在進(jìn)行的會(huì)話
4.傳輸層
定義傳輸數(shù)據(jù)的協(xié)議端口號(hào),以及流控和差錯(cuò)校驗(yàn)篓像。
協(xié)議有:TCP UDP动知,數(shù)據(jù)包一旦離開網(wǎng)卡即進(jìn)入網(wǎng)絡(luò)傳輸層
3.網(wǎng)絡(luò)層
進(jìn)行邏輯地址尋址,實(shí)現(xiàn)不同網(wǎng)絡(luò)之間的路徑選擇员辩。
協(xié)議有:ICMP IGMP IP(IPV4 IPV6) ARP RARP
2.數(shù)據(jù)鏈路層
建立邏輯連接盒粮、進(jìn)行硬件地址尋址、差錯(cuò)校驗(yàn)2 等功能奠滑。(由底層網(wǎng)絡(luò)定義協(xié)議)
將比特組合成字節(jié)進(jìn)而組合成幀丹皱,用MAC地址訪問(wèn)介質(zhì),錯(cuò)誤發(fā)現(xiàn)但不能糾正宋税。
1.物理層
建立摊崭、維護(hù)、斷開物理連接杰赛。(由底層網(wǎng)絡(luò)定義協(xié)議)
TCP/IP 層級(jí)模型結(jié)構(gòu)呢簸,應(yīng)用層之間的協(xié)議通過(guò)逐級(jí)調(diào)用傳輸層(Transport layer)、網(wǎng)絡(luò)層(Network Layer)和物理數(shù)據(jù)鏈路層(Physical Data Link)而可以實(shí)現(xiàn)應(yīng)用層的應(yīng)用程序通信互聯(lián)乏屯。
三根时、HTTP協(xié)議的工作特點(diǎn)和工作原理
特點(diǎn):
基于B/S模式
通信開銷小、簡(jiǎn)單快速辰晕、傳輸成本低
使用靈活蛤迎、可使用超文本傳輸協(xié)議
節(jié)省傳輸時(shí)間
無(wú)狀態(tài)
四、HTTP協(xié)議常見請(qǐng)求/響應(yīng)頭和請(qǐng)求方法
(1)伞芹、HTTP之請(qǐng)求消息Request
第一部分:請(qǐng)求行忘苛,用來(lái)說(shuō)明請(qǐng)求類型,要訪問(wèn)的資源以及所使用的HTTP版本.
GET說(shuō)明請(qǐng)求類型為GET,[/562f25980001b1b106000338.jpg]為要訪問(wèn)的資源,該行的最后一部分說(shuō)明使用的是HTTP1.1版本唱较。
第二部分:請(qǐng)求頭部扎唾,緊接著請(qǐng)求行(即第一行)之后的部分,用來(lái)說(shuō)明服務(wù)器要使用的附加信息
從第二行起為請(qǐng)求頭部南缓,HOST將指出請(qǐng)求的目的地.User-Agent,服務(wù)器端和客戶端腳本都能訪問(wèn)它,它是瀏覽器類型檢測(cè)邏輯的重要基礎(chǔ).該信息由你的瀏覽器來(lái)定義,并且在每個(gè)請(qǐng)求中自動(dòng)發(fā)送等等
第三部分:空行胸遇,請(qǐng)求頭部后面的空行是必須的
即使第四部分的請(qǐng)求數(shù)據(jù)為空,也必須有空行汉形。
第四部分:請(qǐng)求數(shù)據(jù)也叫主體纸镊,可以添加任意的其他數(shù)據(jù)倍阐。
這個(gè)例子的請(qǐng)求數(shù)據(jù)為空。
(2)逗威、HTTP之響應(yīng)消息Response
第一部分:狀態(tài)行峰搪,由HTTP協(xié)議版本號(hào), 狀態(tài)碼凯旭, 狀態(tài)消息 三部分組成概耻。
第一行為狀態(tài)行,(HTTP/1.1)表明HTTP版本為1.1版本罐呼,狀態(tài)碼為200鞠柄,狀態(tài)消息為(ok)
第二部分:消息報(bào)頭,用來(lái)說(shuō)明客戶端要使用的一些附加信息
第二行和第三行和第四行為消息報(bào)頭嫉柴,
Date:生成響應(yīng)的日期和時(shí)間厌杜;Content-Type:指定了MIME類型的HTML(text/html),編碼類型是ISO-8859-1
第三部分:空行,消息報(bào)頭后面的空行是必須的
第四部分:響應(yīng)正文计螺,服務(wù)器返回給客戶端的文本信息夯尽。
空行后面的html部分為響應(yīng)正文。
(3)HTTP請(qǐng)求中POST和GET方法使用區(qū)別
(差別一)GET后退按鈕/刷新無(wú)害危尿,POST數(shù)據(jù)會(huì)被重新提交(瀏覽器應(yīng)該告知用戶數(shù)據(jù)會(huì)被重新提交)呐萌。
(差別二)GET書簽可收藏,POST為書簽不可收藏谊娇。GET能被緩存肺孤,POST不能緩存 。GET編碼類型application/x-www-form-url济欢,POST編碼類型encodedapplication/x-www-form-urlencoded 或 multipart/form-data赠堵。為二進(jìn)制數(shù)據(jù)使用多重編碼。
(差別三)GET歷史參數(shù)保留在瀏覽器歷史中法褥。POST參數(shù)不會(huì)保存在瀏覽器歷史中茫叭。
(差別四)GET對(duì)數(shù)據(jù)長(zhǎng)度有限制,當(dāng)發(fā)送數(shù)據(jù)時(shí)半等,GET 方法向 URL 添加數(shù)據(jù)揍愁;URL 的長(zhǎng)度是受限制的(URL 的最大長(zhǎng)度是 2048 個(gè)字符)。POST無(wú)限制杀饵。
(差別五)GET只允許 ASCII 字符莽囤。POST沒有限制。也允許二進(jìn)制數(shù)據(jù)切距。
(差別六)與 POST 相比朽缎,GET 的安全性較差,因?yàn)樗l(fā)送的數(shù)據(jù)是 URL 的一部分。在發(fā)送密碼或其他敏感信息時(shí)絕不要使用 GET 话肖!POST 比 GET 更安全北秽,因?yàn)閰?shù)不會(huì)被保存在瀏覽器歷史或 web 服務(wù)器日志中。GET的數(shù)據(jù)在 URL 中對(duì)所有人都是可見的最筒。POST的數(shù)據(jù)不會(huì)顯示在 URL 中贺氓。
另外,補(bǔ)充一點(diǎn)我們常見的POST數(shù)據(jù)方式有表單的方式和json字符串的方式床蜘,如果客戶端需要POST比較復(fù)雜的數(shù)據(jù)結(jié)構(gòu)掠归,建議使用json字符串的方式提交到服務(wù)端。
五悄泥、HTTPS協(xié)議的工作原理
六、常見網(wǎng)絡(luò)協(xié)議含義以及端口
FTP(文件傳輸協(xié)議):20 21
SSH(安全shell協(xié)議):22
telnet(遠(yuǎn)程登錄協(xié)議):23
DNS(域名解析系統(tǒng)):53
HTTP(超文本傳輸協(xié)議):80
SMTP(簡(jiǎn)單郵件傳輸協(xié)議):25
POP3(郵局協(xié)議3代):110