2015-06-26 44 views
0

我解析一個路徑字符串,其中包含主機名後的所有內容,即路徑,查詢和片段。此前,我打電話這整個塊的path在功能parseUrlPath,但是這是一個有點混亂,因爲我打電話都內部分和整個事情path主機名後的URL部分名稱是什麼?

也許這不是最糟糕的主意......我這意味着,我們對機器本身和在該機器上運行的程序使用「服務器」一詞。但有沒有人有想法?或者甚至更好,引用路徑/查詢/片段的現有名稱的引用?

回答

1

URI.js調用函數path()獲取/設置路徑和resource()設置URI「包含路徑,查詢和片段」的部分。

鑑於URI https://[email protected]:8080/foo/bar.html?q=3#baz

path() === '/foo/bar.html' 
query() === 'q=3' 
resource() === '/foo/bar.html?q=3#baz' 

這可能是有用的:https://medialize.github.io/URI.js/docs.html

+0

資源是一個很好的呢!感謝您的輸入。 –

0

我一直對自己說「相對於域名」,卻沒有意識到這是答案。

如果知道主機名是我們總是相對的,那麼這樣一個函數的好名字將是parseHostnameRelativeUrl或簡單0123¾。

來源的想法:https://stackoverflow.com/a/2005174/2407870

*從技術上講,這將是parseAuthorityRelativeUrl,因爲「權威」的部分從用戶信息到路徑包括,但沒有人會理解這一點。

0

衆所周知的部分是:協議,主機名(服務名稱+二級域名+頂級域名),目錄名稱或主要類別,子目錄或子類別,文件名,文件擴展名和最後是參數。只有協議和主機名是強制性的,儘管現代應用可能會在缺少某些東西時提供默認值或搜索引擎查找。