兄弟可以點(diǎn)個(gè)贊么狠怨?
1.什么HTTP協(xié)議
● 對(duì)客戶端和服務(wù)器端之間數(shù)據(jù)傳輸?shù)母袷揭?guī)范,格式簡(jiǎn)稱(chēng)為“超文本傳輸協(xié)議”
2.什么是HTTP協(xié)議無(wú)狀態(tài)協(xié)議青责?怎么解決http協(xié)議無(wú)狀態(tài)協(xié)議赏寇?
● 無(wú)狀態(tài)協(xié)議對(duì)于事物處理沒(méi)有記憶能力。缺少狀態(tài)意味著后續(xù)的處理需要前面的信息磨隘。
● 無(wú)狀態(tài)協(xié)議的解決辦法:通過(guò)1)Cookie ; 2)通過(guò)session會(huì)話保存缤底。
3.說(shuō)一下HTTP協(xié)議中302狀態(tài)
● HTTP協(xié)議中,返回302狀態(tài)碼表示重定向番捂。
● 這種情況下服務(wù)器返回的頭部信息中會(huì)包含一個(gè)Location字段个唧,內(nèi)容是重定向到的URL。
4.HTTP協(xié)議有什么組成设预?
請(qǐng)求報(bào)文包含三部分:
● 請(qǐng)求行:包含請(qǐng)求方法徙歼,URL,HTTP版本信息
● 請(qǐng)求首部字段
● 請(qǐng)求內(nèi)容實(shí)體
響應(yīng)報(bào)文包含三部分:
● 狀態(tài)行:包含HTTP版本,狀態(tài)碼鳖枕,狀態(tài)碼的原因短語(yǔ)
● 響應(yīng)首部字段
● 響應(yīng)內(nèi)容實(shí)體
說(shuō)一下網(wǎng)絡(luò)傳輸過(guò)程
5.Http協(xié)議中有那些請(qǐng)求方式魄梯?
● GET: 用于請(qǐng)求訪問(wèn)已經(jīng)被URI(統(tǒng)一資源標(biāo)識(shí)符)識(shí)別的資源,可以通過(guò)URL傳參給服務(wù)器
● POST:用于傳輸信息給服務(wù)器宾符,主要功能與GET方法類(lèi)似酿秸,但一般推薦使用POST方式。
● PUT: 傳輸文件吸奴,報(bào)文主體中包含文件內(nèi)容允扇,保存到對(duì)應(yīng)URI位置缠局。
● HEAD: 獲得報(bào)文首部,與GET方法類(lèi)似考润,只是不返回報(bào)文主體狭园,一般用于驗(yàn)證URI是否有效。
● DELETE:刪除文件糊治,與PUT方法相反唱矛,刪除對(duì)應(yīng)URI位置的文件。
● OPTIONS:查詢相應(yīng)URI支持的HTTP方法井辜。
6.HTTP協(xié)議中HTTP1.0和1.1 有什么區(qū)別
● 在HTTP1.0中绎谦,當(dāng)連接建立后,客戶端發(fā)送一個(gè)請(qǐng)求粥脚,服務(wù)器端返回一個(gè)信息后就關(guān)閉了連接窃肠。當(dāng)瀏覽器下次要請(qǐng)求是又要重新建立連接,顯然這種不斷建立連接的方式會(huì)造成很多問(wèn)題刷允。
●在HTTP1.1中冤留,引入了持續(xù)連接的概念,通過(guò)這種連接瀏覽器建立一個(gè)連接之后树灶,發(fā)送請(qǐng)求并得到返回消息纤怒,然后繼續(xù)發(fā)送請(qǐng)求再次得到返回消息,也就是說(shuō)客戶端可以連續(xù)發(fā)送多個(gè)請(qǐng)求天通,而不用等待每一個(gè)響應(yīng)的到來(lái)泊窘。
7.get與post請(qǐng)求的區(qū)別
區(qū)別一:
● get重點(diǎn)是從服務(wù)器上獲取資源
● post重點(diǎn)是向服務(wù)器發(fā)送數(shù)據(jù)。
區(qū)別二:
● get傳輸數(shù)據(jù)是通過(guò)URL請(qǐng)求像寒,以field(字段) = value的形式烘豹,置于URL后,并用“萝映?”連接吴叶,多個(gè)請(qǐng)求數(shù)據(jù)間用“&”連接阐虚,如http://127.0.0.1/Test/login.action?name=admin&password=admin序臂,這個(gè)過(guò)程用戶是可見(jiàn)的。
● post傳輸數(shù)據(jù)是通過(guò)HTTP的post機(jī)制实束。將字段和對(duì)應(yīng)值封存在請(qǐng)求實(shí)體中發(fā)送給服務(wù)器奥秆。這個(gè)過(guò)程用戶是不可見(jiàn)的。
區(qū)別三:
● get傳輸數(shù)據(jù)量小咸灿,因?yàn)槭躑RL長(zhǎng)度限制构订,但是效率高。
● post可以傳輸大量數(shù)據(jù)避矢,所以上傳文件時(shí)只能用post
區(qū)別四:
● get是不安全的悼瘾,因?yàn)閁RL是可見(jiàn)的囊榜,可能會(huì)泄漏私密信息。
● post 較get安全性高
區(qū)別五:
● get方式只能支持ASCII字符亥宿,向服務(wù)器傳的中文字符可能會(huì)亂碼卸勺。
● post支持標(biāo)準(zhǔn)字符集,可以正確傳遞中文字符烫扼。
9.常見(jiàn)Http協(xié)議狀態(tài)曙求?
200:請(qǐng)求被正常處理
204:請(qǐng)求被受理但沒(méi)有資源可以返回
206:客戶端只是請(qǐng)求資源的一部分,服務(wù)器只對(duì)請(qǐng)求的部分資源執(zhí)行GET方法映企,相應(yīng)報(bào)文中通過(guò)Content-Range指定范圍的資源悟狱。
301:永久性重定向
302:臨時(shí)重定向
303:與302狀態(tài)碼有相似功能,只是它希望客戶端在請(qǐng)求一個(gè)URI的時(shí)候堰氓,能通過(guò)GET方法重定向到另一個(gè)URI上
304:發(fā)送附帶條件的請(qǐng)求時(shí)挤渐,條件不滿足時(shí)返回,與重定向無(wú)關(guān)
307:臨時(shí)重定向双絮,與302類(lèi)似挣菲,只是強(qiáng)制要求使用POST方法
400:請(qǐng)求報(bào)文語(yǔ)法有誤,服務(wù)器無(wú)法識(shí)別
401:請(qǐng)求需要認(rèn)證
403:請(qǐng)求的對(duì)應(yīng)資源禁止被訪問(wèn)=
404:服務(wù)器無(wú)法找到對(duì)應(yīng)資源
500:服務(wù)器內(nèi)部錯(cuò)誤
503:服務(wù)器正忙
10.Http協(xié)議首部字段掷邦?
a白胀、通用首部字段(請(qǐng)求報(bào)文與響應(yīng)報(bào)文都會(huì)使用的首部字段)
Date:創(chuàng)建報(bào)文時(shí)間
Connection:連接的管理
Cache-Control:緩存的控制
Transfer-Encoding:報(bào)文主體的傳輸編碼方式
b、請(qǐng)求首部字段(請(qǐng)求報(bào)文會(huì)使用的首部字段)
Host:請(qǐng)求資源所在服務(wù)器
Accept:可處理的媒體類(lèi)型
Accept-Charset:可接收的字符集
Accept-Encoding:可接受的內(nèi)容編碼
Accept-Language:可接受的自然語(yǔ)言
c抚岗、響應(yīng)首部字段(響應(yīng)報(bào)文會(huì)使用的首部字段)
Accept-Ranges:可接受的字節(jié)范圍
Location:令客戶端重新定向到的URI
Server:HTTP服務(wù)器的安裝信息
d或杠、實(shí)體首部字段(請(qǐng)求報(bào)文與響應(yīng)報(bào)文的的實(shí)體部分使用的首部字段)
Allow:資源可支持的HTTP方法
Content-Type:實(shí)體主類(lèi)的類(lèi)型
Content-Encoding:實(shí)體主體適用的編碼方式
Content-Language:實(shí)體主體的自然語(yǔ)言
Content-Length:實(shí)體主體的的字節(jié)數(shù)
Content-Range:實(shí)體主體的位置范圍,一般用于發(fā)出部分請(qǐng)求時(shí)使用
11.Http與Https優(yōu)缺點(diǎn)宣蔚?
通信使用明文不加密向抢,內(nèi)容可能被竊聽(tīng),也就是被抓包分析胚委。
不驗(yàn)證通信方身份挟鸠,可能遭到偽裝
無(wú)法驗(yàn)證報(bào)文完整性,可能被篡改
HTTPS就是HTTP加上加密處理(一般是SSL安全通信線路)+認(rèn)證+完整性保護(hù)
12.Http優(yōu)化
利用負(fù)載均衡優(yōu)化和加速HTTP應(yīng)用
利用HTTP Cache來(lái)優(yōu)化網(wǎng)站
13.Http協(xié)議有那些特征亩冬?
1艘希、支持客戶/服務(wù)器模式;2硅急、簡(jiǎn)單快速覆享;3、靈活营袜;4撒顿、無(wú)連接;5荚板、無(wú)狀態(tài)凤壁。