為了清晰描述網路資源的位置,計算機先驅們搗鼓出了uri url urn這些邏輯模型。
首先uri叫做統一資源識別符號,為了表示網路中的資源,必須確定嚴謹的語法
uri語法如下
(表示可有可無)
[ scheme:] scheme-specific-part[#fragment]
其中scheme-specific-part結構如下,其中//可以沒有
[ //][ authority][ path][?query]
其中authority結構如下,注意:如果uri中存在authority欄位,那麼必有host欄位
[ user-info@] host [:port]
所以uri結構如下
[ scheme:][ user-info@] host [:port][ path][?query][#fragment]
任何正確url結構必須遵守如上規定
下面我來舉幾個例子
首先是我們最熟悉http請求行,我們來解析它
解析結果如下
query 是 param1=a¶m2=b
fragment = 1
其中沒有使用到user-info欄位,還有host和post就不寫了。
接下來解析大家也熟悉的ftp
表示使用者名稱admin 密碼passwd的使用者登入到profile資料夾中
scheme = ftp
scheme-specific-part =
authority =
path = /profile
user-info = admin:passwd
現在來看個本地檔案協議
file:///f:/flash/1.swf
它的的uri解析如下
scheme = file
scheme-specific-part = ///f:/flash/1.swf
authority = 木有
path = /f:/flash/1.swf
因為沒有authority欄位,所以就出現引人注目的///這種情況了
再來分析個磁力矩
magnet:?xt=urn:btih:2f9d75f4cb3385cb06ffb30695a34fac7033902c
它的的uri解析如下
scheme = magnet
scheme-specific-part = ?xt=urn:btih:d5sg5fd43a21sgasdfq123fb30695a34fac7033902c
authority = 木有
// = 木有
path = 木有
query 是 xt=urn:btih:d5sg5fd43a21sgasdfq123fb30695a34fac7033902c
總結:
任何網路中的資源都需要uri進行位置描述。換句話說,我們在程式設計時,想獲取任何網路上的資源(包括本機)都必須先為資源定義乙個uri(資源描述符)。
其他
當然uri模型並非只有語法規範,還有編碼規範和行為規範(規範化,解析,相對化)
這些內容將在我的文章uri解析-編碼規範 ,uri解析-行為規範中詳細解析(還在寫)。
JS語法部分
定義變數使用通用型別var 字串 需要引號 小數,整數,布林型 只返回對或錯 日期時間 算術運算子 1取餘數,2判斷是不是整數,3將某個數值變為某個範圍之內的數,4判斷a是不是b的倍數 關係運算子 不等於 邏輯運算子 並 或 非 其他運算子 賦值 型別轉換 parseint 轉換為整數 parsef...
日語語法部分總結
形容詞推量形 即表示推測的形式。詞尾 變成 後續推量助動詞 表示推測 例 涼 大概涼爽吧 大概好吧 不過,現代日語中,除了少數約定俗成的慣用形式中還可見 形式外,表示推測時,已經改用了更簡便的 終止形 方式了 例 涼 大概涼爽吧 2 形容動詞 1 詞形特徵 2 詞尾變化 活用 1 連用形 否定 用於...
c 基礎語法部分
c 轉換為c語言 簡要 注意事項 c 中this關鍵字是乙個指向物件自己的乙個常量指標,不能給this賦值 只有成員函式才有this指標,友元函式不是類的成員函式,沒有this指標 同樣靜態函式也是沒有this指標的,靜態函式如同靜態變數一樣,不屬於具體的哪乙個物件 this指標作用域在類成員函式內...