HTTP(HyperText Transfer Protocol)一般被翻譯爲超文本傳輸協議,但這種譯法並不嚴謹,嚴禁的譯名應該爲「超文本轉移協議」。web
最初設想的基本理念是:藉助多文檔之間相互關聯造成的超文本,連成相互參閱的WWW(World Wide Web,萬維網)。瀏覽器
3項WWW構建技術:服務器
1990年11月,CERN(歐洲核子研究組織)成功研發出了世界上第一臺Web服務器和Web瀏覽器。cookie
HTTP正式做爲標準被公佈是在1996年5月,版本被命名爲HTTP/1.0,並記載於RFC1945。網絡
計算機與網絡設備要相互通訊,雙方就必須基於相同的方法。這個方法規則就稱爲協議。ide
TCP/IP協議族流重要的一點就是分層:應用層、傳輸層、網絡層和數據鏈路層。模塊化
好處:就如同模塊化開發同樣,只要各層之間的接口部分規劃好之後,每一個層次內部的設計就可以自由改動。並且層次化以後設計也更爲簡單,單個層次只考慮本身分派的任務就能夠了,不用考慮其餘部分。測試
決定了向用戶提供應用服務時的通訊的活動。FTP和DNS,HTTP協議也處於該層。ui
提供處於網絡鏈接中的兩臺計算機之間的數據傳輸。TCP(Transmission Control Protocol, 傳輸控制協議)和UDP(User Data Protocal, 用戶數據報協議)在這一層。spa
用來處理網絡上流動的數據包。數據包是網絡傳輸的最小數據單位。該層規定了經過怎樣的路徑(所謂的傳輸路線)到達對方計算機,並把數據包傳送給對方。
與對方計算機之間經過多態計算機或網絡設備進行傳輸時,網絡層所起的做用就是在衆多的選項內選擇一條傳輸路線。
用來處理鏈接網絡的硬件部分。包括控制操做系統、硬件的設備驅動、NIC(Network Interface Card, 網絡適配器,即網卡),及光纖等物理可見部分(還包括鏈接器等一切傳輸媒介)。硬件上的範疇均在鏈路層的做用範圍內。
客戶端在應用層(HTTP協議)發出一個想看某個web頁面的HTTP請求;
爲了傳輸方便,在傳輸層(TCP協議)把從應用層收到的數據(HTTP請求報文)進行分割,並在各個報文上打上標記序號及端口號後轉發給網絡層;
在網絡層(IP協議),增長做爲通訊目的地的MAC地址後轉發給鏈路層,這樣,發往網絡的通訊請求就準備齊全了。
接收端的服務器在鏈路層接收到數據,按序往上層發送,一直到應用層,當傳輸到應用層,才能算真正接收到由客戶端發送過來的HTTP請求。
不要把IP和IP地址搞混,IP是一種協議,網際協議位於網絡層。做用是把各類數據包傳送給對方。
保證確實傳送到對方那裏的兩個重要條件:IP地址和MAC地址(Media Access Control Address)。
IP地址指明瞭節點被分配到的地址,MAC地址是指網卡所屬的固定地址。IP地址能夠和MAC地址進行配對,IP地址可變換,但MAC地址基本不會更改。
場景:IP之間的通訊依賴MAC地址,可是一般通訊雙方不在同一局域網下,須要通過多臺計算機和網絡設備中轉才能鏈接到對方。在中轉時,會利用下一站中轉設備的MAC地址來搜索下一個中轉目標。這時,會採用APR(Address Resolution Protocol)協議。ARP是一種用以解析地址的洗衣,根據通訊方的IP地址就能夠反查出對應的MAC地址。
TCP位於傳輸層,提供可靠的字節流服務(Byte Stream Service),是指爲了方便傳輸,將大塊數據分割成以報文段位單位的數據包進行管理。可靠就是指準確可靠的傳輸給對方。
爲了準確無誤的將數據送達目標處,TCP協議採用了三次握手(three-way handshaking)策略。握手過程使用了TCP的標誌——SYN(synchronize)和ACK(acknowledgement)。
過程:
若是在握手過程當中某個階段莫名終端,TCP協議會再次以相同順序發送相同的數據包。
DNS(Domain Name System)服務是和HTTP協議同樣位於應用層的協議。它提供域名到IP地址之間的解析服務。
URL(Uniform Resource Locator)統一資源定位符,是咱們使用web瀏覽器等訪問web頁面時須要輸入的網頁地址,例如http://www.baidu.com/就是URL。
URI(Uniform Resource Identifier)統一資源標識符。
Uniform:規定同一的格式能夠方便處理多種不一樣類型的資源,新增協議方案(如http:或ftp:)也更容易。
Resource:資源的定義是「可標誌的任何東西」。文檔文件、圖像或服務(例如當天的天氣)等可以區別於其餘的類型的,均可以做爲資源。資源不只能夠是單一的,也能夠是多數的集合體。
Identifier:表示可標識的對象,也稱爲標誌符。
綜上,URI就是由某個協議方案表示的資源的定位標誌符。協議方案是指訪問資源所使用的協議類型名稱。
URI用字符串標識某一互聯網資源,而URL標識資源的地點(互聯網上所處的位置)。可見URL是URI的子集。
絕對URI格式:
http://user:pass@www.example.jp:80/dir/index.htm?uid=1#ch1
http: :使用http:或https:等協議方案名獲取訪問資源時須要制定協議類型。
user:pass 登陸信息(認證),指定用戶名和密碼做爲從服務器端獲取資源時必要的登陸信息(身份認證),可選。感受有點像cookies。
www.example.jp 服務器地址。也能夠用IP地址。
80 服務器端口號,可選。省略則自動使用默認端口號。
dir/index.htm 帶層次的文件路徑,指定服務器上文件路徑來定位特質的資源。
uid=1 查詢字符串,針對已指定的文件路徑內的資源,可使用查詢字符串傳入任意參數。可選。