1.一次完整的http請求所包含的7個步驟
a.建立tcp連線:internet被稱為tcp/ip網路,http是比tcp更高層次的應用層協議,只有低層次的建立之後才能進行高層次的連線。
b.web瀏覽器向web伺服器傳送請求命令:例如:get/sample/hello.jsp http/1.1
c.web瀏覽器傳送請求頭資訊:之後傳送一行空白行表示傳送結束
d.web伺服器應答:http/1.1 200 ok
e.web伺服器傳送應答頭資訊
f.web伺服器向瀏覽器傳送資料:web伺服器向瀏覽器傳送頭資訊後,它會傳送乙個空白行來表示頭資訊的傳送到此為結束,接著,它就以content-type應答頭資訊所描述的格式傳送使用者所請求的實際資料
g.web伺服器關閉tcp連線:一般情況下,一旦web伺服器向瀏覽器傳送了請求資料,它就要關閉tcp連線,然後如果瀏覽器或者伺服器在其頭資訊加入了這行**:
connection:keep-alive
tcp連線在傳送後將仍然保持開啟狀態,於是,瀏覽器可以繼續通過相同的連線傳送請求。保持連線節省了為每個請求建立新連線所需的時間,還節約了網路頻寬
2.什麼是https,它與http之間的區別在**
簡單的講,https是http的安全版,即http下加入ssl(secure socket layer)層,https的安全基礎是ssl
https和http的區別主要為以下四點:
一、https協議需要到ca中心(certificate authority)申請乙個用於證明伺服器用途型別的證書,一般免費證書很少,需要交費。
二、http是超文字傳輸協議,資訊是明文傳輸,https 則是具有安全性的ssl加密傳輸協議。
三、http和https使用的是完全不同的連線方式,用的埠也不一樣,前者是80,後者是443。
四、http的連線很簡單,是無狀態的;https協議是由ssl+http協議構建的可進行加密傳輸、身份認證的網路協議,比http協議安全。
3.簡述http協議的三次握手和四次揮手
三次握手:
第一次握手:主機a傳送位碼為syn=1,隨機產生seq number=1234567的資料報到伺服器,主機b由syn=1知道,a要求建立聯機;
第二次握手:主機b收到請求後要確認聯機資訊,向a傳送ack number=(主機a的seq+1),syn=1,ack=1,隨機產生seq=7654321的包
第三次握手:主機a收到後檢查ack number是否正確,即第一次傳送的seq number+1,以及位碼ack是否為1,若正確,主機a會再傳送ack number=(主機b的seq+1),ack=1,主機b收到後確認seq值與ack=1則連線建立成功。
完成三次握手,主機a與主機b開始傳送資料。
四次揮手:
由於tcp連線是全雙工的,因此每個方向都必須單獨進行關閉。這個原則是當一方完成它的資料傳送任務後就能傳送乙個fin來終止這個方向的連線。收到乙個 fin只意味著這一方向上沒有資料流動,乙個tcp連線在收到乙個fin後仍能傳送資料。首先進行關閉的一方將執行主動關閉,而另一方執行被動關閉。
(1)客戶端a傳送乙個fin,用來關閉客戶a到伺服器b的資料傳送(報文段4)。
(2)伺服器b收到這個fin,它發回乙個ack,確認序號為收到的序號加1(報文段5)。和syn一樣,乙個fin將占用乙個序號。
(3)伺服器b關閉與客戶端a的連線,傳送乙個fin給客戶端a(報文段6)。
(4)客戶端a發回ack報文確認,並將確認序號設定為收到序號加1(報文段7)。
5.簡述http及狀態碼
http:一種網路通訊規則,一種無狀態(不建立持久連線,無記憶)協議。
http請求部分:
1.請求方式:get或post
2.請求url(統一資源定位符)
3.請求頭:客戶端資訊,身份驗證等等
4.請求體:即請求正文,包括使用者查詢的字串,提交的表單資訊等
http響應部分:
1.乙個數字和文字組成的狀態碼,用來顯示請求是失敗還是成功
2.響應頭,伺服器資訊,日期時間,內容型別和長度等等
3.響應體,即響應正文
get和post區別:
get: 1.一般用於資訊獲取
2.使用url傳遞引數
3.數量一般控制在2000個字元
post:1.一般用於修改伺服器上的資源
2.對傳送的資訊數量無限制
http狀態碼:
1xx:資訊類,表示收到請求,正在處理
2xx:成功,200表示請求被正確接收並處理
200:成功處理 201:已建立 202:已接受 204:返回無內容 206:成功處理部分get請求
3xx:重定向,表示請求沒有成功,客戶必須採取進一步動作
301:請求的網頁已被永久移動到新位置 302:請求的網頁臨時被移動到新位置
304:請求的網頁未修改,返回響應時不會返回內容 305:需要使用**訪問 307:臨時重定向
4xx:客戶端錯誤,表示客戶端提交的請求由錯誤
400:錯誤請求,伺服器不理解請求語法 401:未授權,請求身份驗證 403:伺服器拒絕請求
404:伺服器找不到請求的網頁 405:禁用請求中的方法 407:請求使用**授權
408:請求超時 409:完成請求時發生衝突 410:請求的資源已被永久刪除
5xx:伺服器錯誤,表示伺服器不能對請求進行處理
500:伺服器錯誤,無法完成請求 501:伺服器不具備完成請求的功能
502:錯誤閘道器 504:閘道器超時,未及時從上游伺服器接受請求 505:http協議版本不支援
arp(address resolution protocol):位址解析協議,是根據ip位址獲取實體地址的乙個tcp/ip協議
ppp:點對點協議,最初設計是為了兩個對等節點之間的ip流量傳輸提供一種封裝協議,在tcp/ip協議集中它是一種用來同步調製連線的資料鏈路層協議,替代了原來非標準的第二層協議slip。
icmp(internet control message protocol):internet控制報文協議,是tcp/ip協議的乙個子協議,用於在ip主機,路由之間傳遞控制訊息。控制訊息指網路通不通,主機是否可以到達,路由是否可以到達等網路本身的訊息。
dhcp(drnamic host configuration protocol):動態主機配置協議,是乙個區域網的udp協議,主要兩個用途:給內部網路或網路服務**商自動分配ip位址,給使用者或者內部網路管理員作為對所有計算機作**管理的手段。
計算機網路基礎知識總結
主題 概要網路基礎 網路知識的常用概念,常用協議,分層結構 編輯時間 新建20160727 序號參考資料 1鳥哥的linux私房菜 2計算機網路,清華大學出版社 osi資料層協議的傳輸方式 這一層是我們最感興趣的囉,因為我們提及的 ip internet protocol 就是在這一層定義的。同時也...
計算機網路基礎知識總結
1.網路層次劃分 2.osi七層網路模型 tcp ip協議是網際網路的基礎協議,沒有它就根本不可能上網,任何和網際網路有關的操作都離不開tcp ip協議。不管是osi七層模型還是tcp ip的四層 五層模型,每一層中都有自己的專屬協議,完成自己相應的工作以及與上下層級之間進行溝通。由於osi七層模型...
計算機網路基礎知識總結
osi rm模型 七層協議 從下而上 物理層 資料鏈路層 網路層 傳輸層 會話層 表示層 應用層 其中第四層完成資料傳輸服務 上面三層面向使用者 物理層 physical layer 啟用 維持 關閉通訊端點之間的機械特性 電氣特性 功能特性以及過程特性。該層為上層協議提供了乙個傳輸資料的可靠的物理...