什麼是HTTP,URI,URL,URN又是什麼?

許久沒有寫博客,說是懶也好,說是沉澱本身也好,這段時間要給本身開一個新坑(儘管本身還有坑沒填完)。以前一直想找點東西寫一下,可是像是 JavaScript,還有 CSS這些知識,網上都已經講爛了,以致於我不管是逛 知乎,仍是 掘金segmentfault,上面都有大量相關的文章,以及新手提的各類花式問題。。。
因而只好來 「開墾」一下這類貌似不多人講到東西(至少我看到是這樣)。雖說書上已經講得很詳細了,可是不少人跟我同樣,資質比較平庸。這裏就當作筆記,給想了解、認識 HTTP可是看書又看不下去的那些同窗一些我我的的心得體會吧。

HTTP和Web資源

好了,廢話講了那麼多,到底什麼是HTTP呢?通俗點來講,HTTP是一種可靠的數據傳輸協議,它能夠保證數據在傳輸的過程當中不會被損壞或產生混亂。一般咱們在上網的過程中,每一次對頁面的訪問都會產生數據的傳輸,好比說圖片、視頻、文字等等。對應過來就是.jpg.avi.txt等等格式的文件,咱們把這些能夠提供Web內容的文件都統稱爲Web資源HTTP就在這些Web資源傳輸過程中擔任着保鏢的角色————保證數據的正確性html

那麼在傳輸過程當中,HTTP是如何區分這些不一樣類型的資源呢?答案是給每一個要傳輸的對象打上名爲MIME類型的數據格式標籤(Multipurpose Internet Mail Extension,多用途因特網郵件擴展)咋一看我是震驚的,這不是管郵件的嗎?怎麼變成了HTTP區分不一樣類型資源的關鍵了呢?原來當初設計MIME是爲了解決在不一樣的電子郵件系統之間搬移報文時存在的問題。由於MIME在電子郵件系統中工做的很是好,因此後來HTTP採納它來描述而且標記Web資源前端

下面是常見的MIME類型web

  • text/html (標記HTML格式的文本文檔
  • text/plain (標記普通的ASCII文本文檔
  • image/jpeg (標記JPEG版本的圖片
  • image/gif (GIF格式的圖片
  • video/quicktime (Apple的QuickTime電影類型
  • application/vnd.ms-powerpoint (標記PPT文件的格式

一般在HTTP通訊的過程中,Web資源的MIME類型是存在HTTP報文的首部,這個會在下一篇博客裏面提到,想要了解更多能夠在《http權威指南》裏面找到相關的資料segmentfault

URI

URI,全稱就是 Uniform Resource Identifier,意思就是「統一資源標識符」。在互聯網上就是經過URI來訪問互聯網上的資源的。URI是怎麼樣表示的呢?其實URI還分出來了兩個子類型,一個是咱們常聽到的URL,另外一個就是URN。微信

URL

URL,跟URI的名字有點接近,全稱是Unform Resource Location,意思爲「統一資源定位符」。人如其名,經過URL咱們能夠準確的定位一個資源的位置。爲何呢?由於URL一般的格式爲: http://www.baidu.com/sb.jpg
其中前面一部分是協議名稱,通常爲http。中間一部分www.baidu.com爲主機的域名,後面的 sb.jpg爲資源的名稱。這也就精確的說明了某個資源的位置,以及咱們應該如何去訪問它。網絡

URN

URN跟前面一個兄弟很像,全稱爲Uniform Resource Name,意思爲「統一資源名」。有什麼用呢?我以爲URN比起URL更加方便,由於使用URN只須要知道一個域名就好了,並且跟目前的資源所在的地方沒有關係。換句話說,若是個人網站變動了地址,若是使用URL,那麼我須要告知用戶新的URL,用戶還要跟着改用新的URL。但若是使用URN,那麼資源的地址再怎麼變,永遠均可以經過URN來獲取這個資源。app

總結

HTTPweb資源在網絡中傳輸的載體,而如何訪問網絡上的web資源呢?通常能夠經過URL來直接訪問,而儘管URN更加便捷,可是因爲URL已經在互聯網上大量使用了,短期內不可能把它替代,並且URL除了長一點,稍微難記一點也沒有什麼其餘缺點。ide

掃描下方的二維碼或搜索「tony老師的前端補習班」關注個人微信公衆號,那麼就能夠第一時間收到個人最新文章。
網站

相關文章
相關標籤/搜索