国产精品久久国产精品99 gif,国产精品久久久久久久伊一,中文字幕在线观看,天美传媒精品1区2区3区,亚洲情a成黄在线观看动漫尤物 ,久久精品国产久精国产一老狼,亚洲殴美国产日韩av,中文无码字幕中文有码字幕

                南京軟件定制開發

                南京傾心軟件歡迎您訪問本站

                13605185909

                新聞資訊

                NEWS CENTER
                欄目導航

                南京軟件開發之Http協議

                發布時間:Mar 21, 2020         已有 人瀏覽

                網絡是由若干節點和連接這些節點的鏈路構成,然后網絡與網絡之間所串連成的龐大網絡叫做互聯網,而我們今天要講的HTTP(HyperText Transfer Protocol 超文本傳輸協議)是互聯網上應用最為廣泛的一種網絡協議,它是由萬維網協會(World Wide Web Consortium)制定發布。
                在這里插入圖片描述

                一、簡介

                HTTP 協議一共有五大特點:

                1.支持客戶/服務器模式。
                2.簡單快速:
                客戶向服務器請求服務時,只需傳送請求方法和路徑。
                3.靈活:
                HTTP允許傳輸任意類型的數據對象。
                正在傳輸的類型由Content-Type(Content-Type是HTTP包中用來表示內容類型的標識)加以標記。
                4.無連接:
                無連接的含義是限制每次連接只處理一個請求。
                服務器處理完客戶的請求,并收到客戶的應答后,即斷開連接。
                采用這種方式可以節省傳輸時間。
                5.無狀態:
                無狀態是指協議對于事務處理沒有記憶能力,服務器不知道客戶端是什么狀態。
                即我們給服務器發送 HTTP 請求之后,服務器根據請求,會給我們發送數據過來,但是,發送完,不會記錄任何信息(Cookie和Session孕育而生)。

                二、TCP/IP協議

                HTTP是一個基于TCP/IP協議簇來傳遞數據,包含四層模型。
                在這里插入圖片描述
                從上圖我們可以清晰的看到HTTP使用的傳輸層協議為TCP協議,而網絡層使用的是IP協議(當然還使用了很多其他協議),所以說HTTP是一個基于TCP/IP協議簇來傳遞數據。
                那TCP/IP協議簇大致是如何工作的,我們再來看看下圖:
                在這里插入圖片描述
                我們可以看到在數據發送端是一層一層封裝數據,數據接收端一層一層拆封,最后應用層獲得數據。

                三、建立TCP連接

                我們知道了TCP/IP協議簇大致的工作原理之后,我們來看看HTTP是如何建立連接的。

                1.TCP包頭信息

                前面咱們講過HTTP是一個基于TCP/IP協議簇來傳遞數據,所以這HTTP建立連接也就是建立TCP連接,TCP如何建立連接,一起來看看TCP包信息結構吧。
                在這里插入圖片描述
                TCP報文包=TCP頭信息+TCP數據體,而在TCP頭信息中包含了6種控制位(上圖紅色框中),這六種標志位就代表著TCP連接的狀態:
                1.URG:
                緊急數據(urgent data)—-這是一條緊急信息
                2.ACK:
                確認已收到
                3.PSH:
                提示接收端應用程序應該立即從tcp接收緩沖區中讀走數據
                4.RST:
                表示要求對方重新建立連接
                5.SYN:
                表示請求建立一個連接
                6.FIN:
                表示通知對方本端要關閉連接了
                2.建立連接過程

                了解了TCP包頭信息之后,我們就可以正式看看TCP建立連接的三次握手了。
                在這里插入圖片描述
                三次握手講解:

                1.客戶端發送位碼為syn=1,隨機產生seq number=1234567的數據包到服務器,服務器由SYN=1知道客戶端要求建立聯機(客戶端:
                我要連接你)
                2.服務器收到請求后要確認聯機信息,向A發送ack number=(客戶端的seq+1),syn=1,ack=1,隨機產生seq=7654321的包(服務器:
                好的,你來連吧)
                3.客戶端收到后檢查ack number是否正確,即第一次發送的seq number+1,以及位碼ack是否為1,若正確,客戶端會再發送ack number=(服務器的seq+1),ack=1,服務器收到后確認seq值與ack=1則連接建立成功。(客戶端:好的,我來了)
                面試官:為什么http建立連接需要三次握手,不是兩次或四次
                答:三次是最少的安全次數,兩次不安全,四次浪費資源

                四、客戶端請求

                客戶端與服務器連接上了之后,客戶端就可以開始向服務器請求資源,就可以開始發送HTTP請求了。

                1.HTTP請求報文結構

                我們之前說過TCP報文包=TCP頭信息+TCP數據體,TCP頭信息我們已經講了,現在來講TCP數據體,也就是我們的HTTP請求報文。
                在這里插入圖片描述

                2.HTTP請求實例

                來看看實際的HTTP請求例子:
                在這里插入圖片描述
                1.①是請求方法,HTTP/1.1 定義的請求方法有8種:
                GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE,最常的兩種GET和POST,如果是RESTful接口的話一般會用到GET、POST、DELETE、PUT
                2.②為請求對應的URL地址,它和報文頭的Host屬性組成完整的請求URL
                3.③是協議名稱及版本號
                4.④是HTTP的報文頭,報文頭包含若干個屬性,格式為“屬性名:屬性值”,服務端據此獲取客戶端的信息
                5.⑤是報文體,它將一個頁面表單中的組件值通過param1=value1&param2=value2的鍵值對形式編碼成一個格式化串,它承載多個請求參數的數據。
                不但報文體可以傳遞請求參數,請求URL也可以通過類似于“/chapter15/user.html? param1=value1&param2=value2”的方式傳遞請求參數。
                請求頭參數非常多,這里就不一一說明,只說明兩個低級的反扒參數:
                1.User-Agent:
                客戶端使用的操作系統和瀏覽器的名稱和版本,有些網站會限制請求瀏覽器
                2.Referer:
                先前網頁的地址,表示此請求來自哪里,有些網站會限制請求來源

                五、服務端響應

                服務器在收到客戶端請求處理完需要響應并返回給客戶端,而HTTP響應報文結構與請求結構體一致。

                1.HTTP響應報文結構

                在這里插入圖片描述

                2.HTTP響應實例

                在這里插入圖片描述

                3.響應狀態碼

                響應報文中我們重點關注下:服務器的響應狀態碼,面試也很容易問到,下面只列出分類,詳細狀態碼請自行上網查找了解。
                在這里插入圖片描述

                六、斷開連接

                在服務器響應完畢后,一次會話就結束了,請問這時候連接會斷開嗎?

                1.長短連接

                是否斷開我們需要區分HTTP版本:
                (1)在HTTP/1.0版本的時候,客戶端與服務器完成一個請求/響應之后,會將之前建立的TCP連接斷開,下次請求的時候又要重新建立TCP連接,這也被稱為短連接
                (2)在HTTP1.0發布僅半年后(1997年1月),HTTP/1.1版本發布并帶來一個新的功能:
                在客戶端與服務器完成一次請求/響應之后,允許不斷開TCP連接,這意味著下次請求就直接使用這個TCP連接而不再需要重新握手建立新連接,這也被稱為長連接
                注意:長連接是指一次TCP連接允許多次HTTP會話,HTTP永遠都是一次請求/響應,會話結束,HTTP本身不存在長連接之說。
                早在1999年HTTP1.1就推廣普及,所以現在瀏覽器在請求時請求頭中都會攜帶一個參數:Connection:keep-alive,這表示瀏覽器要求與服務器建立長連接,而服務器也可以設置是否愿意建立長連接,如果是close,表示已關閉。

                2.長連接優缺點

                對于服務器來說建立長連接有優點也有缺點:
                優點:
                當網站中有大量靜態資源(圖片、css、js等)就可以開啟長連接,這也幾張圖片就可以通過一次TCP連接發送。
                缺點:
                當客戶端請求一次時候不在請求,而服務器卻開著長連接資源被占用著,這是嚴重浪費資源。
                所以是否開啟長連接,長連接時間都需要根據網站自身來合理設置。
                ps:大家不要小看這一個TCP連接,在一次客戶端HTTP完整的請求中(DNS尋址、建立TCP連接、請求、等待、解析網頁、斷開TCP連接)建立TCP連接占用的時間比還是很大的。

                3.斷開連接過程

                在建立TCP連接時是三次握手,而斷開TCP連接是四次揮手。
                在這里插入圖片描述
                ps:http還有兩個很大的缺點就是明文且不能保證完整性,所以目前會漸漸被HTTPS代替。

                Copyright © 2020-2022 南京傾心軟件技術有限公司 版權所有     蘇ICP備2020070309號-1
                QQ在線咨詢
                13605185909
                返回頂部
                主站蜘蛛池模板: 成人无码网www在线观看| 国产精品女人毛片在线看| 亚洲va中文字幕无码毛片| 精品国产杨幂在线观看| 国产精品成熟老妇女| 精品亚洲国产成人| 蜜桃麻豆www久久国产精品| 亚洲综合区图片小说区| 中文字幕一区二区三区日韩精品| 未满十八勿入午夜免费网站| 成人无码h真人在线网站| 又黄又爽又高潮免费毛片| 2021国产精品视频网站| 国产a在视频线精品视频下载| 蜜桃日本免费看mv免费版| 国产99久9在线 | 传媒| 亚洲一区三区三区成人久| 亚洲成av人影院在线观看 | 美女啪啪网站又黄又免费| 少妇精品偷拍高潮少妇小说| 久久中文字幕日韩无码视频| 亚洲成熟丰满熟妇高潮xxxxx| 亚洲综合激情七月婷婷| 91人妻无码成人精品一区91| 骚虎视频在线观看| 国产精品熟女视频一区二区| 亚洲精品成人久久av| 欧美成人一区二免费视频软件 | 日韩精品人妻系列无码专区| 男人a天堂手机在线版| 免费人成在线观看网站| 中文在线√天堂| 精品国产这么小也不放过| 国产精品国语对白一区二区| 国产做国产爱免费视频| 中文字幕无线码成人免费看| 日韩精品一区二区都可以| 欧美高清精品一区二区| 女人被黑人躁得好爽视频| 99久久婷婷国产综合精品青草漫画| 特级毛片在线大全免费播放|