目前絕大部分使用的都是http/1.1版本,在了解http之前,先了解一下tcp/ip協議族
通常使用網路是在tcp/ip協議族的基礎上運作的,而http屬於它內部的乙個子集
tcp/ip按照層次從上至下分為四層:應用層,傳輸層,網路層,資料鏈路層
1 應用層
作用:應用層決定了向使用者提**用服務時通訊的活動。eg. dns、ftp、http。
2 傳輸層
作用:傳輸層對上層應用層,提供處於網路連線中的兩台計算機之間的資料傳輸。eg. udp、tcp。
3 網路層
作用:網路層用來處理在網路上流動的資料報。資料報是網路傳輸的最小資料單位。該層規定了通過怎樣的路徑到達對方計算機,並把資料報傳給對方。
4 鏈路層
作用:用來處理連線網路的硬體部分。包括控制作業系統、硬體的裝置驅動、nic及光纖等物理可見部分。
http協議就是超文字傳輸協議(hypertext transfer protocol),通俗理解是瀏覽器和web伺服器傳輸資料格式的協議,http協議是乙個應用層協議。
http協議是基於tcp協議的,傳送資料之前需要建立好連線
http是全球資訊網的資料通訊的基礎。設計http最初的目的是為了提供一種發布和接收html頁面《網頁》的方法。
http協議的製作者是蒂姆·伯納斯-李,他供職於cern(歐洲核子研究組織)
1、瀏覽器分析指向頁面的url
2、瀏覽器向dns系統請求解析網域名稱所對應的伺服器ip位址
3、dns系統解析出伺服器的ip,並返回給主機
4、瀏覽器與該伺服器的程序建立tcp鏈結(三次握手,埠預設為80)
標誌位:syn: 表示連線請求 ack: 表示確認 fin: 表示關閉連線 seq:表示報文序號 ack: 表示確認序號
5、瀏覽器發出http請求:如get /details/index.html
6、伺服器收到請求並作出相應處理,把檔案index.html傳送給瀏覽器
7、釋放tcp鏈結(四次揮手)
8、瀏覽器解析index.html檔案,將web頁顯示出來。
在http/1.0中, 預設使用的是短連線.也就是說, 瀏覽器和伺服器每進行一次http操作, 就建立一次連線, 但任務結束就中斷連線.如果客戶端瀏覽器訪問的某個html或其他型別的 web 頁中包含有其他的web資源,如js檔案、影象檔案、css檔案等;當瀏覽器每遇到這樣乙個web資源,就會建立乙個http會話。
但從 http/1.1起,預設使用長連線,用以保持連線特性。使用長連線的http協議,會在響應頭有加入這行**:
connection:keep-alive
tcp長短連線的優缺點:http請求報文中常見的方法:http請求報文中常見的方法
請求方法
意義get
請求獲取由url所標誌的資訊
post
給伺服器新增資訊
head
請求讀取由url所標誌的資訊的首部
connect
用於**伺服器
完結!(*^▽^*)
HTTP三次握手協議以及四次揮手
tcp transmission control protocol 傳輸控制協議 tcp是主機對主機的傳輸控制協議,提供可靠的服務,採用三次握手建立連線。位碼,即tcp標誌位,有6種標誌 syn synchronous建立聯機 ack acknowledgement 確認 psh push傳送 fi...
http三次握手 HTTP三次握手,四次揮手。
三次握手 首先解析伺服器dns,找到ip,然後開始建立連線 1.第一次握手 建立連線,客戶端a傳送syn 1 隨機產生seq client isn的資料報到伺服器b,等待伺服器確認。2.第二次握手 伺服器b收到請求後確認聯機 可以接受資料 發起第二次握手請求,ack a的seq 1 syn 1,隨機...
http協議 三次握手 四次揮手
1.第一次握手 客戶端向伺服器傳送建立 客戶端向伺服器通道的請求 2.第二次握手 伺服器同意建立連線 並傳送 建立伺服器向客戶端建立連線的請求 3.第三次握手 客戶端同意建立連線 1.第一握手 客戶端在傳送資料完成之後,向伺服器傳送斷開客戶端向的連線請求 2.第二次握手 伺服器同意客戶端斷開連線請求...