更新時(shí)間:2023-02-08 16:29:48 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽3724次
現(xiàn)在是移動(dòng)互聯(lián)網(wǎng)飛速發(fā)展的數(shù)據(jù)時(shí)代,各種瀏覽器和服務(wù)器應(yīng)運(yùn)而生。那么它們是如何在不同的瀏覽器和服務(wù)器之間進(jìn)行通信的呢?總是無(wú)法在一個(gè)類(lèi)別下對(duì)應(yīng)一種開(kāi)發(fā)和規(guī)則。所以所有的瀏覽器和服務(wù)器都接受相同的規(guī)范,http協(xié)議就是實(shí)現(xiàn)不同版本的瀏覽器和服務(wù)器之間的數(shù)據(jù)交互。今天這篇文章總結(jié)了http協(xié)議的面試問(wèn)題,新手可以先了解一下:

1、http協(xié)議的請(qǐng)求方式是什?
答:HTP是一個(gè)基于TCP/P通信協(xié)議來(lái)傳遞數(shù)據(jù),包括文件、圖像、結(jié)果等,即是一個(gè)客戶(hù)端和服務(wù)器端請(qǐng)求和應(yīng)答的標(biāo)準(zhǔn)。基本上用到的就是GET和POST,充其量再遇到個(gè)option請(qǐng)求。
2、http和https有什么區(qū)別?
答: (1)htps有ca證書(shū),http一般沒(méi)有: (2) http是超文本傳輸協(xié)議,信息是明文傳輸。https則是具有安全性的ssl加密傳輸協(xié)議:(3) http默認(rèn)80端口,https默認(rèn)443端口。
3、HTTP協(xié)議有什么特點(diǎn)?
答: (1)http無(wú)連接:限制每次連接只處理一個(gè)請(qǐng)求,服務(wù)端完成客戶(hù)端的請(qǐng)求后,即斷開(kāi)連接。(傳輸速度快,減少不必要的連接,但也意味著每一次訪(fǎng)問(wèn)都要建立一次連接,效率降低): (2)http無(wú)狀態(tài):對(duì)于事務(wù)處理沒(méi)有記憶能力。每一次請(qǐng)求都是獨(dú)立的,不記錄客戶(hù)端任何行為: (3)客戶(hù)端/服務(wù)端模型:客戶(hù)端支持web瀏覽器或其他任何客戶(hù)端: (4)簡(jiǎn)單快: (5)靈活:可以傳輸任何類(lèi)型的數(shù)據(jù)。
4、cookies機(jī)制和機(jī)制的區(qū)別是什么?
答: (1) cookies數(shù)據(jù)保存在客戶(hù)端,session數(shù)據(jù)保存在服務(wù)端;(2) cookies可以減輕服務(wù)器壓力,但是不安全,容易進(jìn)行cookies欺騙: (3) session安全一點(diǎn),但是占用服務(wù)器資源。
5、GET和POST的區(qū)別?
答:簡(jiǎn)單來(lái)說(shuō):GET產(chǎn)生一個(gè)TCP數(shù)據(jù)包,POST產(chǎn)生兩個(gè)TCP數(shù)據(jù)包。嚴(yán)格的說(shuō):對(duì)于GET方式的請(qǐng)求,游覽器會(huì)把http header和data一并發(fā)送出去,服務(wù)器響應(yīng)200(返回?cái)?shù)據(jù)):而對(duì)于POST請(qǐng)求。游覽器先發(fā)送header,服務(wù)器響應(yīng)100continue,游覽器再發(fā)送data,服務(wù)器響應(yīng)200 ok (返回?cái)?shù)據(jù))。
6、什么是Http協(xié)議無(wú)狀態(tài)協(xié)議?怎么解決Http協(xié)議無(wú)狀態(tài)協(xié)議?
答:無(wú)狀態(tài)協(xié)議對(duì)于事務(wù)處理沒(méi)有記憶能力。缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息。狀態(tài)協(xié)議解決辦法:通過(guò)1、Cookie 2、通過(guò)Session會(huì)話(huà)保存。
7、說(shuō)一下Http協(xié)議中302狀態(tài)?
答:http協(xié)議中,返回狀態(tài)碼302表示重定向。這種情況下,服務(wù)器返回的頭部信息中會(huì)包含一個(gè)Location字段,內(nèi)容是重定向到的url。
8、Http協(xié)議有什么組成?
答:請(qǐng)求報(bào)文包含三部分:請(qǐng)求行:包含請(qǐng)求方法、URI、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í)體。
9、Http協(xié)議中有那些請(qǐng)求方式?
答:GET:用于請(qǐng)求訪(fǎ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:查詢(xún)相應(yīng)URI支持的HTTP方法。
10、TCP和UDP的區(qū)別?
答:TCP(Transmission Control Protocol,傳輸控制協(xié)議)是基于連接的協(xié)議,也就是說(shuō),在正式收發(fā)數(shù)據(jù)前,必須和對(duì)方建立可靠的連接。一個(gè)TCP連接必須要經(jīng)過(guò)三次“對(duì)話(huà)”才能建立起來(lái)。
UDPUser Data Protoco,用戶(hù)數(shù)據(jù)報(bào)協(xié)議》是與TCP相對(duì)應(yīng)的協(xié)議。它是面向非連接的協(xié)議,它不與對(duì)方建立連接,而是直接就把數(shù)據(jù)包發(fā)送過(guò)去,UDP適用于一次只傳送少量數(shù)據(jù)、對(duì)可靠性要求不高的應(yīng)用環(huán)境
以上就是“適合職場(chǎng)新人看的http面試題”,你能回答上來(lái)嗎?如果想要了解更多的Java面試題相關(guān)內(nèi)容,可以關(guān)注動(dòng)力節(jié)點(diǎn)Java官網(wǎng)。
相關(guān)閱讀
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)