HTTP就像一座城市,這座城市裡有協議,資源等等。
基本概念:代理,緩存,網關,隧道,agent代理。
首先通過這些東西,然後使用URL獲取你想要的頁面,URL包含協議,資源定位符,查詢,片段等一系列特定的字符。
協議是一種解析URL的一種方案,告訴URL,我是如何訪問指定資源,如何解析,協議有HTTP和HTTPS,FTP等。
資源定位符,URL會自動補全一部分,例如,當你搜索baid.com時,會自動補全http://www.baidu.com,還有一種補全方式是歷史補全,也就是如果你之前搜索過這個域名,那麼將會自動用這個搜索歷史去補全你即將要搜索的域名。
還有另一種是尚未投入使用的技術——URN,URN比URL更強大,是為了彌補URL的缺陷,關於URN的實現,是通過加一個中間轉換層來實現,計算機中的很多問題,都可以通過加一個中間層解決,URN的目的是不論資源如何移動,你始終都能夠找到它,而URL則會報404錯誤,可想而知,URN的查找成本是巨大的,前面提到,把HTTP想想成一座城市,當這座城市的某一棟房屋的某一個抽屜裡的資源出現了變動,然後你去查找它,這對於URL來說,給你一個404就行,但是對於URN不行,可想而知,當這種資源請求放大到整個HTTP城市,數以億計的查詢請求。
埠,埠在現實世界極難解釋,埠單獨拿出來解釋為窗戶,實際並不恰當,但是別人能夠理解,埠解釋為火箭發射場更為合適,「龍飛船」,火箭由特定的發射場發射,然後回收,其過程能夠解釋大部分埠的整體概念,埠的增加可比喻成發射場增加,埠刪除,發射場刪除,其發射過程也是,如果埠單獨拿出來理解,但形不成整體概念,僅僅是懂了,實際並不知道這是啥,只知道它的意義,但這就足夠了。
埠有,常用埠,註冊埠,動態,私有埠,某些埠是奇數的常用埠,這是十分特殊的埠,由NCP決定分配,NCP是網絡控制協議。
在報文發送出去前會進行一些配備,配備正確的埠,正確的協議,正確的標準,正確的應用,通常報文會經過多個埠才最終發送出去,這取決於TLS與應用層協議是否共同作用。
正確的配備指,80埠配備HTTP協議使用1.1的標準由瀏覽器發送,瀏覽器層面會經過代理,緩存,網關隧道,進行連接,其整體過程,就是我的客戶機由ISO定義的OSI模型發送出去,再由瀏覽器經過OSI模型與網際網路進行連接,伺服器再由OSI模型作為初始模型進行訪問再來一個循環,最終返回給我。
協議有外殼協議與終端協議,電子郵件協議,web協議,交互式郵件協議,目錄訪問協議。
埠的增加,也叫註冊,這種權限會交給特殊權限的客戶機,通常是root用戶,windows最高權限是bios裡面的那位,但是還有一個圖形化操作的偽最高權限,同樣也能設置埠。動態埠和私有埠幾乎不受監管,這也叫做臨時埠,用於短暫連接。不需要被伺服器發現,但伺服器需要固定埠,讓客戶機發現。
總結:並不好解釋,不可能為了學習計算機去學航空動力學和天體物理,簡單解釋——埠就像手機號的擴展,不同在於埠由某些協議分配,伺服器綁定到埠上,然後客戶機使用特定的協議與另一臺伺服器埠建立連接。