摘要:會通過建立起一個到服務器的連接通道,當本次請求需要的數據完畢后,會立即將連接斷開,這個過程是很短的。這三個部分以作為分隔符。最后一個消息頭有兩個,用來表示消息頭部的結束。但是這并不代表建立在協議之上的應用程序就無法維持狀態。
來來來
對,我就是騙你進來的。嘿嘿嘿... 既然來了就看看再走嘛
作為一個學通信出身的前端,說道http、tcp什么的,算是到了我的領域了。(我會告訴你我上課凈睡覺了,啥也沒學到嗎?)這次給大家講講http,提高水平、豐富知識。(要不是為了面試,誰會管什么ttp呀,對我是就這么膚淺)
TCP要說http就繞不開tcp,TCP協議對應于傳輸層,而HTTP協議對應于應用層,從本質上來說,二者沒有可比性。但是,http是基于tcp協議的。
TCP/IP 協議分層模型物理層將二進制的0和1和電壓高低,光的閃滅和電波的強弱信號進行轉換
鏈路層代表驅動
網絡層
使用 IP 協議,IP 協議基于 IP 轉發分包數據
IP 協議是個不可靠協議,不會重發
IP 協議發送失敗會使用ICMP 協議通知失敗
ARP 解析 IP 中的 MAC 地址,MAC 地址由網卡出廠提供
IP 還隱含鏈路層的功能,不管雙方底層的鏈路層是啥,都能通信
傳輸層
通用的 TCP 和 UDP 協議
TCP 協議面向有連接,能正確處理丟包,傳輸順序錯亂的問題,但是為了建立與斷開連接,需要至少7次的發包收包,資源浪費
UDP 面向無連接,不管對方有沒有收到,如果要得到通知,需要通過應用層
會話層以上分層
TCP/IP 分層中,會話層,表示層,應用層集中在一起
網絡管理通過 SNMP 協議
劃重點了啊(面試最常問的啊)TCP三次握手和四次揮手?
被問爛了的問題了,這里不詳細講了,三次握手:
客戶端–發送帶有SYN標志的數據包–一次握手–服務端
服務端–發送帶有SYN/ACK標志的數據包–二次握手–客戶端
客戶端–發送帶有帶有ACK標志的數據包–三次握手–服務端
四次揮手:
客戶端-發送一個FIN,用來關閉客戶端到服務器的數據傳送
服務器-收到這個FIN,它發回一個ACK,確認序號為收到的序號加1 。和SYN一樣,一個FIN將占用一個序號
服務器-關閉與客戶端的連接,發送一個FIN給客戶端
客戶端-發回ACK報文確認,并將確認序號設置為收到序號加1
還不懂的童鞋,去找別人的文章好好看看!
TCP和UDP的區別?
仔細閱讀上面傳輸層里寫的內容,懂了嗎?(不懂?不懂背下來啊,混蛋!)
我們微信聊天時候經常會有這種情況。
是不是感同身受,這種情況就是對方用了TCP協議來聊天,要經過--在嗎?--在--巴拉巴拉,才能成功的傳遞信息。
而如果對方使用UDP,則會有事直接說,不管我收沒收到。(以后找我請用UDP協議,著急直接打電話!)
Http協議是建立在TCP協議基礎之上的,當瀏覽器需要從服務器獲取網頁數據的時候,會發出一次Http請求。Http會通過TCP建立起一個到服務器的連接通道,當本次請求需要的數據完畢后,Http會立即將TCP連接斷開,這個過程是很短的。所以Http連接是一種短連接,是一種無狀態的連接。
所謂的無狀態,是指瀏覽器每次向服務器發起請求的時候,不是通過一個連接,而是每次都建立一個新的連接。如果是一個連接的話,服務器進程中就能保持住這個連接并且在內存中記住一些信息狀態。而每次請求結束后,連接就關閉,相關的內容就釋放了,所以記不住任何狀態,成為無狀態連接。
http傳輸流無恥盜圖
發送端在層與層間傳輸數據時,沒經過一層都會被加上首部信息,接收端每經過一層都會刪除一條首部
又來劃重點了啊HTTP的英文全稱?
開玩笑的,這個顯然不是重點,但是不排除有人會去問,還是要知道的:
超文本傳輸協議(HyperText Transfer Protocol)
狀態碼?
狀態碼就那些,常用的記住就行了:
2XX 成功
200 OK,表示從客戶端發來的請求在服務器端被正確處理
204 No content,表示請求成功,但響應報文不含實體的主體部分
206 Partial Content,進行范圍請求
3XX 重定向
301 moved permanently,永久性重定向,表示資源已被分配了新的 URL
302 found,臨時性重定向,表示資源臨時被分配了新的 URL
303 see other,表示資源存在著另一個 URL,應使用 GET 方法丁香獲取資源
304 not modified,表示服務器允許訪問資源,但因發生請求未滿足條件的情況
307 temporary redirect,臨時重定向,和302含義相同
4XX 客戶端錯誤
400 bad request,請求報文存在語法錯誤
401 unauthorized,表示發送的請求需要有通過 HTTP 認證的認證信息
403 forbidden,表示對請求資源的訪問被服務器拒絕
404 not found,表示在服務器上沒有找到請求的資源
5XX 服務器錯誤
500 internal sever error,表示服務器端在執行請求時發生了錯誤
503 service unavailable,表明服務器暫時處于超負載或正在停機維護,無法處理請求
HTTP協議格式?
HTTP的請求和響應的消息協議是一樣的,分為三個部分,起始行、消息頭和消息體。這三個部分以CRLF作為分隔符。最后一個消息頭有兩個CRLF,用來表示消息頭部的結束。
HTTP請求的起始行稱為請求行,形如GET /index.html HTTP/1.1
HTTP響應的起始行稱為狀態行,形如200 ok
消息頭部有很多鍵值對組成,多個鍵值對之間使用CRLF作為分隔符,也可以完全沒有鍵值對。形如Content-Encoding: gzip
消息體是一個字符串,字符串的長度是由消息頭部的Content-Length鍵指定的。如果沒有Content-Length字段說明沒有消息體,譬如GET請求就是沒有消息體的,POST請求的消息體一般用來放置表單數據。GET請求的響應返回的頁面內容也是放在消息體里面的。我們平時調用API返回的JSON內容都是放在消息體里面的。
HTTP的無狀態性?
所謂HTTP協議的無狀態性是指服務器的協議層無需為不同的請求之間建立任何相關關系,它特指的是協議層的無狀態性。但是這并不代表建立在HTTP協議之上的應用程序就無法維持狀態。應用層可以通過會話Session來跟蹤用戶請求之間的相關性,服務器會為每個會話對象綁定一個唯一的會話ID,瀏覽器可以將會話ID記錄在本地緩存LocalStorage或者Cookie,在后續的請求都帶上這個會話ID,服務器就可以為每個請求找到相應的會話狀態。
輸入url到頁面加載都發生了什么事情?(最最常問的來了)
輸入地址
瀏覽器查找域名的 IP 地址
這一步包括 DNS 具體的查找過程,包括:瀏覽器緩存->系統緩存->路由器緩存...
瀏覽器向 web 服務器發送一個 HTTP 請求
服務器的永久重定向響應(從 http://example.com 到 http://www.example.com)
瀏覽器跟蹤重定向地址
服務器處理請求
服務器返回一個 HTTP 響應
瀏覽器顯示 HTML
瀏覽器發送請求獲取嵌入在 HTML 中的資源(如圖片、音頻、視頻、CSS、JS等等)
. 瀏覽器發送異步請求
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/94326.html
摘要:小哥哥小姐姐我有一份面試指南你要嗎可以當做參考文章看計算機網絡之面試常考附加一些重要的知識點三次握手和四次揮手面試常客為了準確無誤地把數據送達目標處,協議采用了三次握手策略。 個人力量與時間有限,歡迎大家一起完善 Java面試通關手冊(Java學習指南)github 地址:https://github.com/Snailclimb/Java_Guide 非常推薦大家看一下 《圖解HTT...
摘要:那今天給就就投稿的這位屆小粉絲就是當時暑期在騰訊實習順利轉正,然后月份通過內推又拿下阿里的巨佬小姐姐。在騰訊實習期間也就是七月份我就提前批開始投了幾份簡歷,八月初接到阿里的電話,經歷面技術面面,歷時一個月被阿里錄取。 又是一年實習季,大三的同學可能都在忙著找實習或者做簡歷了~ 但是肯定也有同學還不想開始找,覺得現在太早了 所以就就今天特意給大家準備了一篇關于找實習的文章,相信大家看完一...
摘要:那今天給就就投稿的這位屆小粉絲就是當時暑期在騰訊實習順利轉正,然后月份通過內推又拿下阿里的巨佬小姐姐。在騰訊實習期間也就是七月份我就提前批開始投了幾份簡歷,八月初接到阿里的電話,經歷面技術面面,歷時一個月被阿里錄取。 又是一年實習季,大三的同學可能都在忙著找實習或者做簡歷了~ 但是肯定也有同學還不想開始找,覺得現在太早了 所以就就今天特意給大家準備了一篇關于找實習的文章,相信大家看完一...
摘要:那今天給就就投稿的這位屆小粉絲就是當時暑期在騰訊實習順利轉正,然后月份通過內推又拿下阿里的巨佬小姐姐。在騰訊實習期間也就是七月份我就提前批開始投了幾份簡歷,八月初接到阿里的電話,經歷面技術面面,歷時一個月被阿里錄取。 又是一年實習季,大三的同學可能都在忙著找實習或者做簡歷了~ 但是肯定也有同學還不想開始找,覺得現在太早了 所以就就今天特意給大家準備了一篇關于找實習的文章,相信大家看完一...
閱讀 2116·2021-11-24 10:28
閱讀 1138·2021-10-12 10:12
閱讀 3345·2021-09-22 15:21
閱讀 687·2021-08-30 09:44
閱讀 1903·2021-07-23 11:20
閱讀 1152·2019-08-30 15:56
閱讀 1763·2019-08-30 15:44
閱讀 1487·2019-08-30 13:55