比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

金色觀察|RSS3項目實現的基礎:RFC3986統一資源識別符_WEB

Author:

Time:1900/1/1 0:00:00

RSS3被web3領域視為一個很有前景的項目,近期,我一直在體驗web3應用,想試著去找到web3核心要素的一些定義范式,恰巧在看RSS3時,發現了我想找的一個協議,可以定義為數據規范協議,協議為RFC3986統一資源識別符,也可以理解為一個通用語法。

其文檔原文3w余字,不易閱讀,因此我把文檔做了大量刪改,為理解web3的數據格式,做一個范例。

要知曉的是,該規范是互聯網信息標準,出現應用時間很早,RSS3是在這個基礎上作出的一些開發實踐以在web3領域應用。

RSS3

RSS3是一個開放的信息聯合協議,旨在支持Web3中高效和分散的信息分發。它定義了信息呈現和通信的格式,其他使用方可以輕松地以統一的格式訪問各種內容源,而無需大量的兼容邏輯。

在RSS3協議里將信息分為四種類型:配置文件、鏈接、資產、注釋

RSS3應用程序使用RSS3SDK以RSS3協議定義的格式訪問和發布數據,RSS3?SDK從RSS3網絡獲取數據并將數據發布到RSS3支持的網絡,RSS3?Network從各種RSS3?Supported?Networks爬取數據,將數據緩存到自己的高效數據庫中,做一些預處理,例如應用人工智能推薦算法,提供搜索功能。

在這樣的產品設計里,其最原始的數據規范,是對網絡傳輸數據進行一些細節的定義來完成的,定義了數據,就完成了基礎的數據可用性部分。上層應用就可以更輕松實現,讓我們來看這個協議:RFC3986統一資源識別符。經過刪改后的內容,筆者力求達到簡略了解互聯網數據處理的一些相關要求。

RFC3986:統一資源識別符

本規范源自RFC2396、RFC1808和RFC1738,還包含更新用于主機語法中的IPv6文字。

與時共創第二屆年度金色盛典“年度最具影響力公鏈”榜單發布:12月26日,與時共創第二屆年度金色盛典在三亞舉行。現場發布“年度最具影響力公鏈”榜單:Conflux、以太經典ETC、IOST、Cocos-BCX、Polkadot、STD、波場TRON、Nervos CKB、ELASTOS、Cypherium。[2020/12/26 16:34:58]

統一資源標識符(URI)是一個緊湊的序列標識抽象或表示物理資源的字符,提供了一個簡單且可擴展的用于識別資源的方法。規范定義了通用URI語法和相對形式的URI引用的過程解析,以及使用URI的指南和安全注意事項。

URI語法則定義了一個語法超集,有效的URI允許實現公共組件解析,實現在非特定方案要求的情況下使用URI引用每個可能的標識符,規范沒有定義URI的生成語法。

統一資源標識符(URI)語義來源于World?Wide引入的概念Web全球信息倡議,語法旨在滿足“Internet功能性建議”中列出的資源定位器和統一資源名稱功能的要求。

本文檔廢棄了,合并了“統一資源定位器”和“相對統一資源定位器”以便為所有URI定義一個單一的通用語法。廢棄,引入了IPv6地址的語法。

URI的特點

均勻性

它允許不同類型的資源在同一上下文中使用相同的資源標識符,即使在用于訪問這些資源的機制可能不同。

它允許對常見句進行統一的語義解釋完成對跨不同類型資源標識符的約定。

它允許引入新類型的資源標識符,而不會干擾現有標識符的使用方式。

它允許標識符在許多不同的上下文中重復使用,從而允許新的應用程序或協議利用現有的、大量且廣泛使用的資源標識符集。

金色熱搜榜:EKT居于榜首:根據金色財經排行榜數據顯示,過去24小時內,EKT搜索量高居榜首。具體前五名單如下:EKT、BNB、HPT、OKB、SOC。[2020/10/13]

資源

“資源”一詞在一般意義上指任何可能由URI標識的內容。熟悉的例子包括電子文檔、圖像、信息源、服務和其他的資源集。資源不一定通過互聯網訪問。同樣地,抽象概念也可以是資源,例如運算符和數學方程的操作數,關系的類型,或數值。

標識符

標識符體現了對所需信息區分并從其范圍內的所有其他事物中識別出的內容鑒別過程。但這些定義不應該被誤認為是標識符的定義或體現所引用內容的身份,在許多情況下,URI用于表示資源,但不表示可以被訪問。同樣,標識的“一個”資源可能本質上不是單數的。

URI具有全局范圍,并且無論何種情況都被用來一致地解釋上下文,盡管這種解釋的結果可能在與最終用戶的上下文相關。例如,“http://localhost/”對該引用的每個用戶都有相同的解釋,即使與“localhost”對應的網絡接口可能是不同的用戶,這代表:解釋與訪問無關。

通用語法

URI語法是一種聯合且可擴展的命名系統,其中每個方案的規范可以進一步限制使用該方案的標識符的語法和語義。

URI引用使用獨立解析機制,通過該機制,協議和數據使用URI引用的格式可以參考這個規范的所有允許語法范圍來定義URI,還包括那些尚未定義的方案。

通用URI語法的解析器可以將任何URI引用解析為其主要組成部分。方案確定后,進一步

可以對組件執行特定于方案的解析。換句話說,URI通用語法是所有URI語法的超集

金色晨訊 | 納斯達克擬推出通證化證券平臺 HTC旗下Exodus將發布區塊鏈手機:1.納斯達克擬推出通證化證券平臺 為發行STO提供便利。

2.莫迪:區塊鏈可以改善農產品供應鏈。

3.HTC旗下Exodus區塊鏈智能手機將于近期發布。

4.贊比亞銀行表示數字貨幣非本國法定貨幣。

5.南非區塊鏈創業公司創設免費在線區塊鏈大學。

6.Squire與富士康旗下樺漢科技合作制造新一代礦機。

7.ADA創始人指責Cardano基金會不作為 將接管基金會。

8.盛松成:無法同時實現貨幣政策有效和去中心化。

9.杭州發布83家重點擬上市企業名單 嘉楠耘智上榜。[2018/10/14]

URI、URL和URN

URI可以進一步分類為定位符、名稱或兩者。

“統一資源定位器”指的是URI的子集。除了識別資源之外,還提供了一種通過描述資源的訪問機制來定位資源的方法。

“統一資源名稱”(URN)曾用于指代在資源不復存在或變為不可用情況下仍保持全局唯一屬性的任何其他URI。

URI是來自非常有限的集合:拉丁字母、數字、和一些特殊字符。

URI可以用多種形式表示方式;例如,紙上的墨水、屏幕上的像素或一系列字符編碼八位字節。URI的解釋僅取決于使用的字符。在本地或區域環境中,隨著技術的進步,用戶能夠使用更廣泛的字符。

識別與交互分離

對URI的一個常見誤解是它們僅用于引用到可訪問的資源。URI本身只提供鑒別,不保證訪問資源URI的存在暗示。相反,任何相關的URI引用由協議元素定義,例如數據格式屬性或它出現的自然語言文本。

給定一個URI,系統可能會嘗試在資源上執行各種操作,可能以“訪問”“更新”、“替換”或“查找屬性”等詞為特征。這樣的操作是由使用URI的協議定義。

金色財經現場報道 華為區塊鏈高級產品經理劉再耀:區塊鏈在2018年是應用元年:金色財經現場報道,在2018大數據產業峰會上,華為區塊鏈高級產品經理劉再耀表示,18年區塊鏈將成為應用元年,開源和標準在加速產業成熟,行業玩家紛紛開開源區塊鏈平臺,基于開源技術發展業務;各標準組織在積極推進區塊鏈標準的成熟,2018年成為關鍵。[2018/4/19]

分層標識符

URI語法是分層組織的,組件重要性從左到右遞減的順序排列。

通用語法使用斜杠("/")、問號("?")和數字符號字符來分隔組件,對通用解析器的層次解釋很重要,除了此類的可讀性標識符一致使用熟悉的語法,跨命名方案的層次結構的統一表示允許相對于該層次結構進行的獨立于方案的引用。

通常情況下,一組或“樹”形狀的文檔已經構建服務于一個共同目的,這些文檔中絕大多數的URI引用指向樹中的資源而不是在它之外。位于特定位置的文檔站點更有可能引用該站點上的其他資源而不是遠程站點的資源。URI的引用允許文檔樹部分獨立于其位置和訪問方案。

語法符號

使用ABNF的表示法,包括以下核心ABNF語法規則:

ALPHA、CR、DIGIT、DQUOTE、HEXDIG、LF和SP等。

URI語法提供了一種編碼數據的方法,大概是為了為了將資源標識為字符序列。URI反過來,字符經常被編碼為八位字節以進行傳輸或演示。

ABNF表示法將其終端值定義為非負數,基于US-ASCII編碼字符集的整數。因為URI是一個字符序列,所以我們必須反轉該關系以便理解URI語法。因此,ABNF使用的整數值必須映射回US-ASCII對應字符以完成語法規則。

金色財經現場報道 ALAX創始人馮文和:再高深的技術沒有模式沒有產品其實都是空談:金色財經現場報道,在2018區塊鏈技術及應用峰會上,ALAX創始人馮文和表示:“我在 2016 年接觸了區塊鏈技術,整個人就變的非常沸騰。我們都講技術是為了模式而服務,再高深的技術沒有模式沒有產品其實都是空談。”馮文和稱,到2020 年進出口跨境電商規模將達一萬億美元,但跨境結算目前仍面臨四大挑戰:1、跨國費用高——平均10%~70%;2、交易時間長——賬期長達 6 個月;3、無法進行交易——20 億人無銀行卡;4、效率低、壟斷和成本高。[2018/3/30]

保留字符

URI包括各項分隔的組件和子組件“保留”的字符。

保留字符的目的是提供一組分隔符與URI中的其他數據區分開的字符。保留字符的子集用作通用URI組件的分隔符。一種組件的ABNF語法規則不會使用reserved或gen-delims直接命名,相反,每個語法規則都列出了字符允許在該組件內,其他子組件可以由URI方案的規范定義。

無保留字符

URI中允許但沒有保留字符的字符,包括大寫和小寫字母、十進制數字、連字符、句點、下劃線和波浪號。

未保留=ALPHA/DIGIT/"-"/"."/“_”/“~”

將非保留字符替換為不同的URI,但其相應的百分比編碼的US-ASCII八位字節是等效的:它們識別相同的資源。為了一致性,在ALPHA范圍內的百分比編碼八位字節(%41-%5A和%61-%7A)、DIGIT(%30-%39)、連字符(%2D)、句點(%2E)、URI不應創建下劃線(%5F)或波浪號(%7E)生產者,當在URI中找到時,應將其解碼為URI規范器對應的未保留字符。

識別數據

URI字符為每個URI提供標識數據組件,作為識別的系統外部接口。

URIs的生產和傳輸:本地名稱和數據編碼,公共接口編碼、URI字符編碼、數據格式編碼和協議編碼。

本地名稱存儲在本地字符編碼。URI生成應用程序通常使用本地編碼作為基礎產生有意義的名字。URI生產者將轉換本地編碼為適合公共接口的編碼,并且然后將公共接口編碼轉換為受限集URI字符。

反過來,這些字符被編碼為八位字節以用作數據格式中的引用等數據格式通常隨后被編碼以傳輸互聯網協議。

在某些情況下,URI組件和識別它所代表的數據要直接比字符編碼翻譯少得多。

語法組件

通用URI語法由一個分層序列組成,有方案、權限、路徑、查詢和分段。

方案和路徑組件是必需的,盡管路徑可能是空。當權限存在時,路徑必須可以為空或以斜杠字符開頭。什么時候權限不存在,路徑不能以兩個斜杠開頭人物。這些限制導致五種不同的ABNF路徑規則,其中只有一個匹配任何給定的URI引用。

方案

每個URI都以一個方案名稱開頭,該方案名稱引用了一個規范在該方案中分配標識符。

方案名稱由一系列以a開頭的字符組成字母,后跟字母、數字和加號的任意組合("+")、句點(".")或連字符("-")。

方案=ALPHA*(ALPHA/DIGIT/"+"/"-"/".")

權限

許多URI方案包括用于命名的分層元素權限,以便管理由URI的其余部分委托給該機構。通用語法提供了一個通用的基于注冊名稱或服務器地址,以及可選的端口和用戶信息。

權限組件前面有一個雙斜杠,并且是以下一個斜杠("/")、問號("?")或數字結尾符號字符,或在URI的末尾。

權限=主機

主機

權限的主機子組件由IP文字標識封裝在方括號中。在許多情況下,主機語法僅用于創建和部署的現有注冊流程DNS,從而獲得一個全球唯一的名稱,無需花費部署另一個注冊表。

主機=IP字段/IPv4address/reg-name

IP字段=“”

IPvFuture="v"1*HEXDIG"."1*(未保留/子分隔符/":")

查詢

查詢組件包含非分層數據,以及路徑組件中的數據,用于識別URI方案和命名機構范圍內的資源。

查詢組件由問題表示標記("?")字符并以數字符號("#")字符結尾。

查詢=*(pchar/"/"/"?")

用法

當應用程序引用一個URI時,它們并不總是使用由“URI”語法規則定義的完整引用形式。保存空間和利用分層局部性,許多互聯網協議元素和媒體類型格式允許縮寫URI,而其他人將語法限制為特定形式的URI。

建立基礎URI

除了僅片段引用,基本URI是已知需要的。解析器必須建立一個基本URI。基礎URI必須符合<absolute-URI>語法規則。

基本URI可以通過以下四種方式之一建立

嵌入在內容中的基本URI

封裝實體的基礎URI

用于檢索實體的URI

默認基礎URI

規范化和比較

URI上最常見的操作是簡單的比較:在不使用URI的情況下確定兩個URI是否等價訪問他們各自的資源。在比較URI之前通常進行廣泛的規范化。URI比較是為了某些特定目的而執行。

等價

因為URI的存在是為了識別資源,所以當他們識別相同的資源時被認為是等效的。然而,這個等價的定義沒有太大的實際用途,因為是沒有辦法比較兩個資源的,除非它完全了解或控制它們。

即使可以確定兩個URI是等價的,URI比較不足以確定兩個URI識別不同的資源。

基于語法的規范化

基于語法的規范化包括以下技術案例歸一化、百分比編碼歸一化和去除點段。

安全注意事項

URI本身并不構成安全威脅。但是URI通常用于提供一組緊湊的指令以訪問

網絡資源,必須注意在URI中正確解釋數據,以防止該數據導致意外訪問,避免包含不應公開的數據文本。

敏感信息

URI生產者不應提供包含用戶名或旨在保密的密碼。URI經常由瀏覽器顯示,存儲在明文書簽中,并由用戶代理歷史和中間應用程序。

語義攻擊

因為userinfo子組件很少使用,出現在權限組件中的主機,可以用來構造一個URI來誤導用戶信任,例如

ftp://cnn.example.com&story=break_news@10.0.0.1/top_story.htm

可能會導致用戶假設主機是“cnn.example.com”,而它實際上是'10.0.0.1'。一個誤導性的URI,可能是對用戶的攻擊,這攻擊的是用戶先入為主的概念。關于軟件本身,可以通過區分URI的各個組成部分來避免此類攻擊。

Tags:RSS3區塊鏈WEBBNFrss3幣怎么

火幣APP下載
Flow推出7.25億美元生態基金,a16z等機構參與_FLOW

5月10日消息,由DapperLabs開發,為下一代游戲、應用程序和數字資產提供支持的Web3平臺Flow宣布推出7.25億美元生態基金,該基金將專注于游戲、基礎設施、DeFi.

1900/1/1 0:00:00
NFT市場需要做更多工作來提升黑人藝術家的地位_ZODI

來源:老雅痞 白人在加密貨幣社區中占大多數已經不是什么秘密了--畢竟,"加密貨幣兄弟"的刻板印象已經存在多年了.

1900/1/1 0:00:00
金色Web3.0日報 | 新華網發布第二批數字藏品_NFT

DeFi數據 1.DeFi代幣總市值:535.8億美元 DeFi總市值數據來源:coingecko2.過去24小時去中心化交易所的交易量:31.

1900/1/1 0:00:00
如何做好 DAO 工作?這里都是經驗之談_MIS

控制共享經濟資源和/或協議規則的結構,每個DAO的運作方式可能不同。一些DAO是私有的,而另一些則開放給任何人加入和貢獻。對于某些DAO,活躍的貢獻者可以從DAO獲得報酬.

1900/1/1 0:00:00
最近不降反升的NFT 這里有幾個NFT借貸的項目_USD

NFT的問題 NFT是加密貨幣中的一種資產類別,每個月交易的價值達數十億美元。NFT的問題在于流動性差,像比特幣是可以立即出售,而NFT可能要幾個月或幾年才有人買.

1900/1/1 0:00:00
中國數字人專利排行榜TOP30_數字貨幣

近年來,隨著元宇宙概念的興起和火熱,疊加疫情下國人對虛擬內容需求的增加、消費級VR硬件快速發展,虛擬數字人的發展也步入快車道.

1900/1/1 0:00:00
ads