歡迎來到通信人在線![用戶登錄] [免費(fèi)注冊]

中文域名(CDN)系統(tǒng)的編碼技術(shù)要求

瀏覽:3995  來源:通信人在線  日期:2024-11-22

中文域名(CDN)的編碼技術(shù)是中文域名(CDN)系統(tǒng)的關(guān)鍵技術(shù)之一。CDN編碼技術(shù)就是規(guī)范在互聯(lián)網(wǎng)上使用CDN的編碼方法,包括字符串預(yù)處理框架和中文域名字段預(yù)處理的框架。在介紹CDN編碼技術(shù)之前需要首先介紹其相關(guān)的知識。

欲詳細(xì)了解中文域名系統(tǒng)介紹的請進(jìn)入。

一、字符串預(yù)處理(stringprep

1、字符串(string

字符串(string)就是由字符組成的序列,可以包含字母、數(shù)字、符號和空格等字符,字符可以是任何的Unicode字符,包括ASCII字符和非ASCII字符。事實上,通常在互聯(lián)網(wǎng)上傳輸?shù)淖址怀龅睦尤缁ヂ?lián)網(wǎng)上傳輸?shù)挠蛎?/span>DN,Domain Name)。域名是由字段組成,每個字段又是由字符構(gòu)成,這些字符在互聯(lián)網(wǎng)上傳輸時就形成了字符串。

欲具體了解Unicode字符介紹的請進(jìn)入。

2、字符串預(yù)處理(stringprep)概念

字符串預(yù)處理(stringprep)是由IETFRFC 3454Preparation of Internationalized Strings(國際化字符串的預(yù)處理)》所規(guī)范提出的。國際化字符串是指除了包括LDH(字母(Letter)、數(shù)字(Digit)和連接符(Hyphen)等)字符外,還包括非LDH字符(如中文字符等)所形成的字符串。這里的國際化是相對于國際化域名(IDN)而言(注意:中文域名(CDN)是IDN的一種)。國際化字符串的預(yù)處理簡稱字符串預(yù)處理(stringprep)。

字符串預(yù)處理?stringprep是指在將字符串用于網(wǎng)絡(luò)傳輸之前,對其進(jìn)行一系列的處理過程,以確保字符串具有特定的標(biāo)準(zhǔn)形式。RFC 3454標(biāo)準(zhǔn)定義了一系列表格,這些表格可以被組合為不同的配置,每個配置都定義了所使用的表格和其他可選項?。字符串預(yù)處理主要用于互連網(wǎng)協(xié)議中,確保在網(wǎng)絡(luò)傳輸中字符串的格式和內(nèi)容符合標(biāo)準(zhǔn),避免因格式不一致導(dǎo)致的問題。

字符串預(yù)處理的具體步驟和目的包括:其一是使用預(yù)備過程?:在將字符串進(jìn)行網(wǎng)絡(luò)傳輸之前,先對其進(jìn)行預(yù)備處理,確保字符串具有特定的標(biāo)準(zhǔn)形式。其二是配置選項?:配置選項包括所使用的表格和其他可選項,這些配置確保了字符串的標(biāo)準(zhǔn)化和一致性。我們知道,在C語言中,預(yù)處理指令主要用于在編譯前對源代碼進(jìn)行簡單的加工,如包含頭文件、宏定義等。而字符串預(yù)處理則是在網(wǎng)絡(luò)傳輸前對字符串進(jìn)行特定的處理,確保其在網(wǎng)絡(luò)中的正確傳輸和解析。兩者雖然都涉及“預(yù)處理”的概念,但應(yīng)用場景和具體操作有所不同。

3、字符串預(yù)處理(stringprep)框架

字符串預(yù)處理框架確立了一個包含處理Unicode 字符規(guī)則的框架模型。其它協(xié)議可根據(jù)這些規(guī)則定義自己的框架,這些框架可使用戶在應(yīng)用程序中輸入國際化字符串,并且正確地得到處理。RFC 3454不規(guī)定如何把非Unicode 碼位轉(zhuǎn)化成Unicode碼位。字符串預(yù)處理框架輸入的是字符串,輸出是字符串或錯誤信息。字符串預(yù)處理框架不能解決用戶期望的所有字符變體問題。RFC 3454公布了一系列表格,分為兩類:集合(in)和映射(map)。對于集合(in),stringprep 提供了“特征函數(shù)”,即如果形參是集合的一部分則返回值為 True 的函數(shù)。對于映射(map),它提供了映射函數(shù),它會根據(jù)給定的鍵返回所關(guān)聯(lián)的值。下表1-3-1給出了stringprep中所有可用函數(shù)的列表說明。

1-3-1stringprep中所有可用函數(shù)的列表說明

字符串預(yù)處理?stringprep)過程包括:映射、歸一化(或稱標(biāo)準(zhǔn)化)、禁止輸出檢查和雙向字符檢查,其簡要說明詳見下表1-3-2。映射中和歸一化中所說的映射可是一對零,一對一,一對多,多對多或多對一映射,所以輸出的字串有可能比原輸入字串長或短。RFC 3454的內(nèi)容重點規(guī)定了這些過程的要求。

1-3-2:字符串預(yù)處理?stringprep)過程簡介

欲詳細(xì)了解RFC 3454標(biāo)準(zhǔn)具體內(nèi)容的請進(jìn)入。

二、中文域名字段預(yù)處理

中文域名字段預(yù)處理是字符串預(yù)處理的一種框架特例,實現(xiàn)中文域名字段預(yù)處理應(yīng)首先完全實現(xiàn)字符串預(yù)處理(stringprep)。其目的是使其能用于中文域名字段,或者檢查其能否用于域名字段。中文域名字段預(yù)處理是用來直接處理中文域名字段的,而不是整個域名。中文域名與應(yīng)用(CDNA對每個域名字段會調(diào)用中文域名字段預(yù)處理。在我國國家標(biāo)準(zhǔn)GB/T 44278定義了中文域名與應(yīng)用(CDNA)框架。

欲詳細(xì)了解GB/T 44278標(biāo)準(zhǔn)關(guān)于CDNA介紹請進(jìn)入

中文域名字段預(yù)處理使用Unicode保留字符表中的字表(見RFC 3454A.1),如果應(yīng)用程序在實現(xiàn)CDNA 時使用未分配碼點列表,也應(yīng)使用該字表;映射時使用RFC 3454的映射表(見RFC 3454B.1、表B.2和表B.3);歸一化時使用形式的歸一化(NFKCNormalization Form with Compatibility Composition);“禁止輸出”字符應(yīng)使用RFC 3454的禁止輸出表(見RFC 3454C.1~C.9)。

三、關(guān)于Punycode 編碼

1、概述

我們知道,中文域名與應(yīng)用(CDNA)規(guī)定了支持CDN 的架構(gòu),在該架構(gòu)中就規(guī)定到中文域名字段字符的編碼要求。該框架要求中文域名名字字符的編碼應(yīng)采用Punycode 編碼。Punycode 是一種為國際化多語種域名設(shè)計的一種簡單高效的轉(zhuǎn)換編碼方法,Punycode  Bootstring 算法的一個特例,Bootstring 的通用算法,來用基礎(chǔ)碼位表示大字符集中的碼位串。PunycodeBootstring是由IETF RFC 3492Punycode: A Bootstring encoding of Unicode for Internationalized Domain Names in ApplicationsIDNA)(Punycode:一種用于IDNABootstring編碼)》所規(guī)范,適用于 IDNA,而CDNA的實現(xiàn)應(yīng)支持IDNA。

RFC 3492要要求,ASCII 形式的域名字段可用ACEASCII Compatible Encoding,ASCII編碼兼容)前綴開始的ACE 形式表示;后綴是Unicode 字串的Punycode 編碼。Punycode 編碼唯一且可逆轉(zhuǎn)地把Unicode字串轉(zhuǎn)換成ASCII 字串。Unicode里的ASCII 字符還是按原來的字符顯示,非ASCII 字符用ASCII 字符中LDH 表示。RFC 3492規(guī)定了一種叫bootstring 的通用算法來用基礎(chǔ)字符(一般指ASCII字符集中的字符,其等同于我國GB/T 1988規(guī)定的編碼)碼位來表示大字符(一般指Unicode字符集里的字符集(ASCII字符除外),其等同于我國GB/T 13000規(guī)定的編碼)中的碼位串。Punycode Bootstring 算法的特殊形式,它使用了專門的參數(shù)使其符合國際化多語種域名應(yīng)用的需要而設(shè)計, Punycode 主要是用來把中文域名字段轉(zhuǎn)換成ASCII 形式。Bootstring 被設(shè)計成具有下列特點:完備性、唯一性、可逆轉(zhuǎn)性、編碼高效性、簡單性和可持續(xù)性等,其具體表述詳見下表3-1。

3-1Bootstring算法的特點

2Bootstring算法簡介

Bootstring的框架包括4項技術(shù):基礎(chǔ)碼位分離;插入未排序碼位;廣義變長整數(shù);貝葉斯適應(yīng)(Bias adaptation。其含義的表述詳見下表3-2。Bootstring算法的內(nèi)容包括:貝葉斯適應(yīng)函數(shù);解碼過程;編碼過程;溢出的處理。Bootstring算法的具體要求詳見RFC 3492。

3-2Bootstring框架的簡述

欲詳細(xì)了解RFC 3492標(biāo)準(zhǔn)具體內(nèi)容的請進(jìn)入。

四、中文域名編碼技術(shù)

我國國家標(biāo)準(zhǔn)GB/T 44596《中文域名編碼技術(shù)要求》規(guī)定了在互聯(lián)網(wǎng)體系上使用中文域名(CDN)的編碼規(guī)范,以及使用中文域名字段的預(yù)處理要求,同時規(guī)定了利用國際化域名(IDN)碼進(jìn)行CDN編碼的技術(shù)要求。該國家標(biāo)準(zhǔn)所規(guī)范的CDN編碼技術(shù)要求,使用了上述的RFC 3454規(guī)范的字符串預(yù)處理(stringprep)技術(shù)和RFC 3492規(guī)范的Punycode 編碼方法。另外,我國通信行業(yè)標(biāo)準(zhǔn)YDT 2143《基于國際多語種域名體系的中文域名的編碼處理技術(shù)要求》也提出了與GB/T 44596國標(biāo)相同的技術(shù)要求。若要詳細(xì)了解這兩個國內(nèi)標(biāo)準(zhǔn)關(guān)于CDN編碼技術(shù)要求具體內(nèi)容的請詳見下述附件。

附件 4-1GB/T 44596-2024《中文域名編碼技術(shù)要求》

附件 4-2YDT 2143-2010《基于國際多語種域名體系的中文域名的編碼處理技術(shù)要求》

欲詳細(xì)了解中文域名的字表技術(shù)要求的請進(jìn)入。

附錄
本文的附表2024-11-22
百度云服務(wù)器
© 2004-2025 通信人在線 版權(quán)所有 備案號:粵ICP備06113876號 網(wǎng)站技術(shù):做網(wǎng)站
主站蜘蛛池模板: 武夷山市| 达拉特旗| 桦甸市| 永寿县| 崇左市| 玉环县| 迁安市| 呼玛县| 怀化市| 锡林浩特市| 东乌珠穆沁旗| 康马县| 和政县| 五原县| 齐齐哈尔市| 荣昌县| 团风县| 宁都县| 文成县| 大宁县| 志丹县| 雷州市| 信阳市| 宝清县| 江口县| 东明县| 仪征市| 临夏市| 日照市| 乌鲁木齐县| 西安市| 德清县| 平远县| 手机| 建德市| 青川县| 康马县| 延寿县| 灵川县| 凤山县| 孝昌县|