Fyrox 0.28 發(fā)布
Fyrox 是一個(gè)功能豐富、可用于生產(chǎn)的通用 2D/3D 游戲引擎,其采用 Rust 編寫(xiě),并帶有場(chǎng)景編輯器,能幫助你進(jìn)行高效的開(kāi)發(fā)。 近日,其發(fā)布了 0.28 版本,包括了一系列改進(jìn)和修復(fù),讓你的游戲開(kāi)發(fā)更加便捷。主要改動(dòng)點(diǎn)為:
腳本的執(zhí)行流改進(jìn);
用戶(hù)界面的優(yōu)化;
資源預(yù)覽;
2D 游戲支持精靈圖;
...
“正確的” HTTP 協(xié)議實(shí)現(xiàn)意味著什么
hyper 是一個(gè)非常完善且“正確的” HTTP 協(xié)議實(shí)現(xiàn),廣泛應(yīng)用于各個(gè)項(xiàng)目中,有位網(wǎng)友在 reddit 上發(fā)帖問(wèn):像 hyper 這樣的 HTTP 協(xié)議實(shí)現(xiàn),聲稱(chēng)是“正確的”,這到底意味著什么? 以下節(jié)選自高贊回答:
協(xié)議類(lèi)似于一組規(guī)則。其規(guī)定了可接受的數(shù)據(jù)格式、在不同站點(diǎn)中允許哪些指令、應(yīng)當(dāng)采取的行為......。超文本傳輸協(xié)議(HTTP)也對(duì)應(yīng)一個(gè)這樣的規(guī)則列表,例如: a. 請(qǐng)求的第一行必須以動(dòng)詞(GET、POST 等)、url 和 HTTP 版本開(kāi)頭,然后是換行符; b. 標(biāo)頭必須采用特定格式。
例如,標(biāo)題的名稱(chēng)不能包含 “:” 字符; c. 如果請(qǐng)求包含正文,則必須聲明長(zhǎng)度。 如果說(shuō) HTTP 協(xié)議的實(shí)現(xiàn)是“正確的”,背后的想法是,用戶(hù)必須不可能生成無(wú)效的 HTTP 請(qǐng)求。例如,一旦您開(kāi)始發(fā)送正文,就不可能設(shè)置 HTTP 頭部,因?yàn)檫@樣做是無(wú)效的。
從另一個(gè)角度來(lái)看,特別是對(duì)于像 HTTP 這樣的協(xié)議,它比 RFC 規(guī)定的內(nèi)容更難實(shí)現(xiàn)。最“正確的”實(shí)現(xiàn),在應(yīng)用于現(xiàn)實(shí)世界時(shí),總會(huì)遇到一長(zhǎng)串奇怪但合法的行為,這將使一些客戶(hù)端或服務(wù)器在某些時(shí)候崩潰。
有時(shí)候在現(xiàn)實(shí)世界中,你需要忍受一些不正確的實(shí)現(xiàn)。例如 Cloudflare 就沒(méi)有將 Hyper 應(yīng)用于他們的 Rusty Proxy 服務(wù)中,因?yàn)樗珖?yán)格了,不滿(mǎn)足 Cloudflare 對(duì)于現(xiàn)實(shí)應(yīng)用的需求。
審核編輯:劉清
-
RFC
+關(guān)注
關(guān)注
0文章
16瀏覽量
10124 -
HTTP協(xié)議
+關(guān)注
關(guān)注
0文章
66瀏覽量
9763 -
Rust
+關(guān)注
關(guān)注
1文章
230瀏覽量
6641
原文標(biāo)題:【Rust日?qǐng)?bào)】2022-10-11 “正確的” HTTP 協(xié)議實(shí)現(xiàn)意味著什么
文章出處:【微信號(hào):Rust語(yǔ)言中文社區(qū),微信公眾號(hào):Rust語(yǔ)言中文社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論