許久沒有寫博客,說是懶也好,說是沉澱本身也好,這段時間要給本身開一個新坑(儘管本身還有坑沒填完)。以前一直想找點東西寫一下,可是像是JavaScript
,還有CSS
這些知識,網上都已經講爛了,以致於我不管是逛 知乎,仍是 掘金、 segmentfault,上面都有大量相關的文章,以及新手提的各類花式問題。。。
因而只好來 「開墾」一下這類貌似不多人講到東西(至少我看到是這樣)。雖說書上已經講得很詳細了,可是不少人跟我同樣,資質比較平庸。這裏就當作筆記,給想了解、認識HTTP
可是看書又看不下去的那些同窗一些我我的的心得體會吧。
好了,廢話講了那麼多,到底什麼是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
,全稱就是 Uniform Resource Identifier
,意思就是「統一資源標識符」。在互聯網上就是經過URI來訪問互聯網上的資源的。URI
是怎麼樣表示的呢?其實URI
還分出來了兩個子類型,一個是咱們常聽到的URL
,另外一個就是URN。微信
URL
,跟URI
的名字有點接近,全稱是Unform Resource Location
,意思爲「統一資源定位符」。人如其名,經過URL咱們能夠準確的定位一個資源的位置。爲何呢?由於URL
一般的格式爲: http://www.baidu.com/sb.jpg
其中前面一部分是協議名稱,通常爲http
。中間一部分www.baidu.com爲主機的域名,後面的 sb.jpg
爲資源的名稱。這也就精確的說明了某個資源的位置,以及咱們應該如何去訪問它。網絡
URN跟前面一個兄弟很像,全稱爲Uniform Resource Name
,意思爲「統一資源名」。有什麼用呢?我以爲URN
比起URL
更加方便,由於使用URN
只須要知道一個域名就好了,並且跟目前的資源所在的地方沒有關係。換句話說,若是個人網站變動了地址,若是使用URL
,那麼我須要告知用戶新的URL
,用戶還要跟着改用新的URL
。但若是使用URN
,那麼資源的地址再怎麼變,永遠均可以經過URN
來獲取這個資源。app
HTTP
是web資源在網絡中傳輸的載體,而如何訪問網絡上的web資源呢?通常能夠經過URL
來直接訪問,而儘管URN
更加便捷,可是因爲URL
已經在互聯網上大量使用了,短期內不可能把它替代,並且URL
除了長一點,稍微難記一點也沒有什麼其餘缺點。ide
掃描下方的二維碼或搜索「tony老師的前端補習班」關注個人微信公衆號,那麼就能夠第一時間收到個人最新文章。網站