成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

前端必知必會(huì)HTTP請(qǐng)求系列(二)簡(jiǎn)單一點(diǎn)的HTTP協(xié)議

xbynet / 3132人閱讀

摘要:通過(guò)請(qǐng)求和響應(yīng)的交換達(dá)成通信協(xié)議中已經(jīng)規(guī)定了請(qǐng)求是從客戶端發(fā)出,最后由服務(wù)端響應(yīng)這個(gè)請(qǐng)求并返回。隨后的字符串指明了請(qǐng)求訪問(wèn)的資源對(duì)象。協(xié)議自身不對(duì)請(qǐng)求和響應(yīng)之間的通信狀態(tài)進(jìn)行保存,也就是說(shuō)這個(gè)級(jí)別。從前發(fā)送請(qǐng)求后需等待并受到響應(yīng)。

http協(xié)議用戶客戶端和服務(wù)器之間的通信

http協(xié)議和TCP/IP協(xié)議族內(nèi)的其他眾多協(xié)議相同,用于客戶端和服務(wù)器之間的通信。
那么問(wèn)題來(lái)個(gè)如果兩臺(tái)服務(wù)器之間一臺(tái)服務(wù)器向另一臺(tái)服務(wù)器進(jìn)行接口請(qǐng)求那誰(shuí)是客戶端呢?所以這里的客戶端和服務(wù)端是相對(duì)的概念,如果一端擔(dān)任客戶端的角色,另一端就需要擔(dān)任服務(wù)器端的角色不是絕對(duì)的概念。

通過(guò)請(qǐng)求和響應(yīng)的交換達(dá)成通信

http協(xié)議中已經(jīng)規(guī)定了請(qǐng)求是從客戶端發(fā)出,最后由服務(wù)端響應(yīng)這個(gè)請(qǐng)求并返回。
下面來(lái)看一個(gè)請(qǐng)求中的報(bào)文,

GET /index.html HTTP/1.1
Host: baidu.cn

起始行的開頭的GET表示請(qǐng)求訪問(wèn)服務(wù)器的類型,成為方法(method)對(duì)于前后端的同學(xué)最熟悉不過(guò)了。
隨后的字符串index.html指明了請(qǐng)求訪問(wèn)的資源對(duì)象。也叫請(qǐng)求的URI,最后HTTP/1.1就是我們http的版本號(hào),用來(lái)告訴客戶端使用的http協(xié)議功能。

http是不保存狀態(tài)的協(xié)議

HTTP是一種不保存狀態(tài),即無(wú)狀態(tài)協(xié)議。HTTP協(xié)議自身不對(duì)請(qǐng)求和響應(yīng)之間的通信狀態(tài)進(jìn)行保存,也就是說(shuō)HTTP這個(gè)級(jí)別。協(xié)議對(duì)于發(fā)送過(guò)的請(qǐng)求或者響應(yīng)都不做持久化處理。


所以在使用http協(xié)議的時(shí)候,每當(dāng)有新的請(qǐng)求發(fā)送時(shí),就會(huì)有對(duì)應(yīng)的新的響應(yīng)產(chǎn)生,協(xié)議本身并不保留之前一切的請(qǐng)求或響應(yīng)報(bào)文信息。這是為了更快的處理大量食物,確保協(xié)議的可伸縮性,而特意把http協(xié)議設(shè)計(jì)成如此簡(jiǎn)單的。
但是隨著web的發(fā)展,因?yàn)闆](méi)有轉(zhuǎn)態(tài)在某些業(yè)務(wù)場(chǎng)景下因?yàn)闊o(wú)狀態(tài)導(dǎo)致業(yè)務(wù)變得棘手了,例如,現(xiàn)在的電商平臺(tái),即時(shí)他在別的頁(yè)面進(jìn)行瀏覽商品的時(shí)候我們也需要保持該用戶的登錄狀態(tài),所以為了實(shí)現(xiàn)這個(gè)需求,http協(xié)議引入了Cookie技術(shù)。稍后會(huì)有詳解。

請(qǐng)求URI定位資源

HTTP協(xié)議使用URI定位互聯(lián)網(wǎng)上的資源,正是應(yīng)為URI的特定功能,在互聯(lián)網(wǎng)上任意位置的資源能訪問(wèn)到。

告知服務(wù)器意圖的http方法

1、GET:獲取資源
get方法用來(lái)請(qǐng)求訪問(wèn)已被URI識(shí)別的資源,指定的資源經(jīng)服務(wù)器端解析后返回響應(yīng)內(nèi)容。如果請(qǐng)求的是文本。那就保持原樣返回。
2、POST:傳輸實(shí)體
POST方法用來(lái)傳輸實(shí)體的主體。
雖然用GET方法也可以傳輸實(shí)體的主體,但是一般不用GET方法進(jìn)行傳輸,而是用POST方法。雖說(shuō)POST和GET很相似。但是POST的主要目的不是獲取響應(yīng)的主題內(nèi)容。
3、PUT:傳輸文件
PUT方法用來(lái)傳輸文件,就像FTP協(xié)議的文件上傳一樣。要求在請(qǐng)求報(bào)文的主題中包含文件內(nèi)容。然后保存到請(qǐng)求URI指定的位置去。
4、HEAD:獲取報(bào)文首部
HEAD方法和GET方法一樣,只是不返回報(bào)文主體的部分。用于確認(rèn)URI的有效性及更新日期等等。
5、DELETE:刪除文件
DELET方法用來(lái)刪除文件,是與PUT相反的方法。
DELET方法安請(qǐng)求URI刪除指定的資源。
6、OPTIONS:詢問(wèn)支持得方法
OPTIONS方法用來(lái)查詢針對(duì)URI指定的資源支持得方法。

持久連接節(jié)省通信量

在HTTP協(xié)議的初始版本中,沒(méi)進(jìn)行一次HTTP通行就要斷開一次TCP鏈接。
以當(dāng)年的通信情況來(lái)說(shuō),因?yàn)槎际切﹥?nèi)容很小的文本傳輸,所以即使這樣也沒(méi)有多大問(wèn)題??呻S著HTTP的普及。文檔中包含有大量的圖片的情況多了起來(lái)。
比如瀏覽器瀏覽一個(gè)包含多張圖片的HTML頁(yè)面時(shí),在發(fā)送請(qǐng)求訪問(wèn)HTML頁(yè)面資源的同時(shí),也會(huì)請(qǐng)求HTML頁(yè)面里面包含的其他資源,因此每次請(qǐng)求都會(huì)造成無(wú)謂的TCP連接建立和斷開,增加通行量的開銷。
持久連接
為了解決上訴TCP連接的問(wèn)題,HTTP/1.1和一部分的HTTP/1.0想出了持久連接,也稱為HTTP keep-alive的方法。持久連接的特點(diǎn)是,只要任意一端沒(méi)有明確提出斷開連接,則保持TCP連接轉(zhuǎn)態(tài)。
HTTP/1.1中,所有的連接默認(rèn)都是持久連接,但是在HTTP/1.0中并沒(méi)有標(biāo)準(zhǔn)化。雖然有一部分服務(wù)器通過(guò)非標(biāo)準(zhǔn)手段實(shí)現(xiàn)了持久化連接。但服務(wù)器端不一定能夠支持持久化連接。毫無(wú)疑問(wèn),除了服務(wù)端,客戶端也需要支持持久化連接。
管線化
持久化連接使得多數(shù)請(qǐng)求以管線化方式發(fā)送成為可能。從前發(fā)送請(qǐng)求后需等待并受到響應(yīng)。才能發(fā)送下一個(gè)請(qǐng)求。管線化技術(shù)出現(xiàn)后。不用等待亦可直接發(fā)送下一個(gè)請(qǐng)求。
這樣就能夠做到同時(shí)并行發(fā)送多個(gè)請(qǐng)求。而不需要一個(gè)接一個(gè)地等待響應(yīng)。

使用Cookie的狀態(tài)管理

之前我們提過(guò)HTTP是無(wú)狀態(tài)協(xié)議,它不對(duì)之前發(fā)生過(guò)的請(qǐng)求和響應(yīng)的狀態(tài)進(jìn)行管理,不可否認(rèn),無(wú)狀態(tài)協(xié)議當(dāng)然有它的優(yōu)點(diǎn)。由于不必保存狀態(tài),自然可以減少服務(wù)器的CPU及內(nèi)存資源的消耗。從另一個(gè)側(cè)面來(lái)說(shuō),也正是因?yàn)镠TTP協(xié)議本身是非常的簡(jiǎn)單,所以才會(huì)被應(yīng)用在各種場(chǎng)景。

為了解決這個(gè)問(wèn)題,Cookie出現(xiàn)了,Cookie會(huì)根據(jù)從服務(wù)器端發(fā)送的響應(yīng)報(bào)文內(nèi)的一個(gè)叫做Set-Cookie的首部字段,通知客戶端保存Cookie,下次客戶端再往該服務(wù)器發(fā)送請(qǐng)求時(shí),客戶端會(huì)自動(dòng)在請(qǐng)求報(bào)文中加入Cookie之后發(fā)送出去。
服務(wù)器端發(fā)現(xiàn)客戶端發(fā)送過(guò)來(lái)的Cookie后,回去檢查究竟是從哪一個(gè)客戶端發(fā)送來(lái)的請(qǐng)求,然后對(duì)比服務(wù)器上的記錄,最后得到之前的轉(zhuǎn)態(tài)信息。


前端必知必會(huì)HTTP請(qǐng)求系列(一)了解Web及網(wǎng)絡(luò)基礎(chǔ)
前端必知必會(huì)HTTP請(qǐng)求系列(二)簡(jiǎn)單一點(diǎn)的HTTP協(xié)議
前端必知必會(huì)HTTP請(qǐng)求系列(三)HTTP,報(bào)文內(nèi)部的HTTP信息
前端必知必會(huì)HTTP請(qǐng)求系列(四)返回結(jié)果的HTTP狀態(tài)碼
前端必知必會(huì)HTTP請(qǐng)求系列(五)與HTTP協(xié)作的web服務(wù)器
前端必知必會(huì)HTTP請(qǐng)求系列(六)HTTP的首部
前端必知必會(huì)HTTP請(qǐng)求系列(七)確保Web安全的HTTPS
前端必知必會(huì)HTTP請(qǐng)求系列(八)確認(rèn)訪問(wèn)用戶身份的認(rèn)證
前端必知必會(huì)HTTP請(qǐng)求系列(九)基于HTTP的功能追加協(xié)議
前端必知必會(huì)HTTP請(qǐng)求系列(十)構(gòu)建Web內(nèi)容的技術(shù)
前端必知必會(huì)HTTP請(qǐng)求系列(十一)Web攻擊技術(shù)
有什么問(wèn)題可以到評(píng)論區(qū)留言,持續(xù)關(guān)注,不斷更新!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/100666.html

相關(guān)文章

  • 前端必知必會(huì)HTTP請(qǐng)求系列(三)HTTP報(bào)文內(nèi)的http信息

    摘要:報(bào)文用于協(xié)議交互的信息被稱為報(bào)文?,F(xiàn)在出現(xiàn)的各種首部字段及狀態(tài)碼稍后會(huì)闡述。狀態(tài)碼響應(yīng)報(bào)文包含了多個(gè)范圍的內(nèi)容使用。如果服務(wù)器無(wú)法響應(yīng)范圍請(qǐng)求,則會(huì)返回狀態(tài)碼和完整的實(shí)體內(nèi)容。 showImg(https://segmentfault.com/img/bVbthNL?w=900&h=500); http報(bào)文 用于HTTP協(xié)議交互的信息被稱為HTTP報(bào)文。請(qǐng)求端的http報(bào)文叫做請(qǐng)求報(bào)文...

    Invoker 評(píng)論0 收藏0
  • 前端必知必會(huì)HTTP請(qǐng)求系列(一)了解Web及網(wǎng)絡(luò)基礎(chǔ)

    摘要:誕生了在深入學(xué)習(xí)之前我們來(lái)了解一下他的背景,同時(shí)了解一下當(dāng)時(shí)制定的初衷,這樣有助于我們更好的理解。為知識(shí)共享而規(guī)劃的在年月,互聯(lián)網(wǎng)還只屬于少數(shù)人,在互聯(lián)網(wǎng)的前期,誕生了。的成長(zhǎng)時(shí)代年月,成功研發(fā)了世界上第一臺(tái)服務(wù)器和瀏覽器。 showImg(https://segmentfault.com/img/bVblTgr?w=800&h=400);在當(dāng)前大前端的環(huán)境下,前后端分離,前后端同構(gòu)等...

    qylost 評(píng)論0 收藏0
  • JWT必知必會(huì)

    摘要:最近,項(xiàng)目的安全認(rèn)證機(jī)制全面采用。為了伸縮性考慮,采用機(jī)制,必然面臨著應(yīng)用狀態(tài)的問(wèn)題,而且必然牽涉到的復(fù)制。為了安全性考慮,機(jī)制僅驗(yàn)證時(shí)天然對(duì)免疫。若有可能,使用標(biāo)志。采用來(lái)防止這是因?yàn)椋谡军c(diǎn)上發(fā)起向站點(diǎn)的請(qǐng)求時(shí),站點(diǎn)的同樣會(huì)被發(fā)送給。 最近,項(xiàng)目的安全認(rèn)證機(jī)制全面采用JWT?,F(xiàn)在,趁整個(gè)工作基本告一段落之際,將一些知識(shí)點(diǎn)總結(jié)一下發(fā)布出來(lái)。 為什么要遷移? 原因很簡(jiǎn)單,就以下幾點(diǎn): ...

    張金寶 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<