日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

网络:http请求之几种常见技术

發(fā)布時(shí)間:2025/3/21 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网络:http请求之几种常见技术 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

無(wú)狀態(tài)

由于http是一種無(wú)狀態(tài)的協(xié)議,因此無(wú)論是客戶(hù)端還是服務(wù)器都不記錄http的相關(guān)信息。

這樣設(shè)計(jì)一方面減輕了服務(wù)器端的負(fù)載,另一方面減小了http請(qǐng)求的開(kāi)銷(xiāo)

但是針對(duì)某些特殊的場(chǎng)景,需要時(shí)刻記錄用戶(hù)的相關(guān)信息,這該如何處理呢?

Cookie恰好可以解決這個(gè)問(wèn)題,Cookie的運(yùn)行機(jī)制如下:


Cookie是一種由服務(wù)器端確定,并保存在客戶(hù)端瀏覽器中的內(nèi)容。這樣,就不需要每次都添加用戶(hù)的相關(guān)信息,請(qǐng)求會(huì)自動(dòng)添加cookie中對(duì)應(yīng)的內(nèi)容。

?

持久化

正常在發(fā)送http時(shí),都需要建立TCP的連接,再發(fā)送報(bào)文。


如果每次想要發(fā)送http報(bào)文都需要經(jīng)過(guò)這個(gè)過(guò)程,那么時(shí)間大部分都會(huì)消耗在建立和斷開(kāi)連接的過(guò)程中。

因此http中使用了connection屬性(指的是報(bào)文首部中的connection,用于指定連接的方式。


當(dāng)設(shè)置成keep-alive(connection : keep-alived),就會(huì)建立一條持久化的連接。

不需要每次都建立連接,再中斷。

在HTTP1.0的時(shí)候需要手動(dòng)設(shè)置connection屬性,在HTTP1.1時(shí)默認(rèn)都是長(zhǎng)連接

?

管道化

如果一個(gè)http請(qǐng)求,請(qǐng)求了大量的圖片等大文件,那么其他的http請(qǐng)求怎么辦呢?


不用怕,http可以一次發(fā)送多個(gè)http請(qǐng)求,然后等待響應(yīng)連接。不需要排隊(duì)等候,這樣就加快了http的響應(yīng)時(shí)間。

內(nèi)容編碼

由于某些報(bào)文的內(nèi)容過(guò)大,因此在傳輸時(shí),為了減少傳輸?shù)臅r(shí)間,會(huì)采取一些壓縮的措施。

例如上面的報(bào)文信息中,Accept-Encoding就定義了內(nèi)容編碼的格式:gzip

有下面幾種方式:

gzip:GNU壓縮格式

compress:UNIX系統(tǒng)的標(biāo)準(zhǔn)壓縮格式

deflate:是一種同時(shí)使用了LZ77和哈弗曼編碼的無(wú)損壓縮格式

identity:不進(jìn)行壓縮

多部分對(duì)象集合(多類(lèi)型混雜內(nèi)容的打包發(fā)送

有的時(shí)候傳輸?shù)膬?nèi)容,不僅僅是一些字符串,還有可能是一些圖片,字符,音樂(lè)二進(jìn)制等混雜的內(nèi)容。

這就需要使用多部分對(duì)象集合,multipart,例如在使用java編寫(xiě)web上傳文件的代碼時(shí),需要在form中指定form的編碼格式。

設(shè)置form的enctype屬性的值為multipart/form-data。

這是因?yàn)槟J(rèn)的情況下form使用的編碼格式是:applicatin/x-www-form-urlencoded,這種編碼格式會(huì)把所有的內(nèi)容進(jìn)行編碼,不適合上傳文件這種情況。

這兩種編碼格式的區(qū)別主要是:

multipart/form-data 會(huì)以控件為基準(zhǔn),編碼form中的內(nèi)容。

application/x-www-form-urlencoded 會(huì)把form中的內(nèi)容編碼成鍵值對(duì)的形式。

范圍請(qǐng)求(例如網(wǎng)站圖片一點(diǎn)一點(diǎn)加載進(jìn)來(lái)

有些場(chǎng)景下,http報(bào)文請(qǐng)求一些很大的圖片,但是加載過(guò)程很慢。

比如我們登錄一些大圖片的網(wǎng)址,會(huì)發(fā)現(xiàn)有時(shí)候圖片是一塊一塊加載的。

這就是因?yàn)?strong>設(shè)置了http請(qǐng)求的長(zhǎng)度,這樣就可以分塊的加載資源文件。

在請(qǐng)求報(bào)文中使用Range屬性,在響應(yīng)報(bào)文中使用Content-Type屬性都可以指定一定字節(jié)范圍的http請(qǐng)求。
?

總結(jié)

以上是生活随笔為你收集整理的网络:http请求之几种常见技术的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。