網路的一次請求過程學習記錄
網路請求的過程為域名解析,TCP三次握手,三次握手後的TCP連線後,傳送http請求,伺服器端的http響應,瀏覽器解析html程式碼,同時請求html中的資源。
1.域名解析
瀏覽器會首先訪問瀏覽器本身儲存的dns快取,但本身dns快取量少,存活時間短,如果有,則直接解析,沒有則去訪問作業系統所儲存的DNS快取,沒有的話在訪問C盤下的hosts檔案,如果在沒找到,則首先去找TCP/IP中設定的本地DNS伺服器,找不到的話在請求13臺根伺服器,根伺服器會根據請求返回負責該域名的一個伺服器ip,本地DNS使用這個ip去連線負責這個域名的伺服器,如果這臺伺服器無法解析,在返回該域名的下一級DNS伺服器。
2.TCP三次握手
3.HTTP請求:請求行,請求頭,空行,訊息體,如果是GET和DELETE將要處理的訊息存放在URL中,如果是POST和PUT則存放在報文的主題中。
4.HTTP響應:響應行,響應頭,空行,訊息體。
5.瀏覽器解析html程式碼時,如果遇到靜態資源,會請求伺服器,如果伺服器返回304則代表伺服器沒有改過,可以直接使用本地資源快取的檔案,否則開啟新執行緒請求伺服器下載。
相關推薦
網路的一次請求過程學習記錄
網路請求的過程為域名解析,TCP三次握手,三次握手後的TCP連線後,傳送http請求,伺服器端的http響應,瀏覽器解析html程式碼,同時請求html中的資源。1.域名解析瀏覽器會首先訪問瀏覽器本身儲存的dns快取,但本身dns快取量少,存活時間短,如果有,則直接解析,沒有
http一次請求過程
面向連接 顯示 一個 網絡 服務器 握手 瀏覽器 htm 解析 物理層:支持底層網絡協議: 其中網絡層支持IP協議: 傳輸層支持TCP協議,它是面向連接的: 應用層支持 http,ftp tftp,SMTP,DHCP協議 一個完整的http請求過程: 1、瀏覽器
tomcat的一次請求過程
res 其中 請求 gin 如果 路徑名 con https 默認 Tomcat處理一個HTTP請求的過程 假設來自客戶的請求為: http://tomcat.com/yy/index.jsp 首先 dns 解析tomcat.com機器,一般是ng服務器ip地址 然後 ng
spring mvc 一次請求過程跟蹤(一)
spring mvc 一次請求過程跟蹤 專案背景 Spring Boot 主方法 import org.springframework.boot.SpringApplication; import org.springframework.
一次請求的過程
我們每天都開啟網頁,讓我們來看看,一次典型的網頁請求的整個過程: 1, 使用者端: 1.1 使用者開啟一個瀏覽器,在位址列輸入一個http/https url(這裡不涉及ftp,stmp等協議),點回車; 1.2 讀取本地hosts檔案, 查詢url對應的ip伺服器地址; 1.3 如果
記錄一次vue的學習(一)
記錄一次vue的學習(一) 前言 提前準備 動手! 程式碼 學習筆記 前言 作為一個後端程式設計師(??碼農?),一直因為沒辦法將寫好的web好好的展示出來,苦惱於沒有前端配合,前端還能用node去自己寫點後端,今天
記錄一次websocket的學習
###關於websocket的一些註解 @ServerEndpoint @OnOpen @OnClose @OnMessage @OnError ###關於websocket的一些類 getAsyncRemote()和getBasicRemote()
簡述servlet的執行過程(根據一次請求對應一次響應開始描述)。
1.瀏覽器傳送請求到伺服器 2.伺服器根據請求的URL去呼叫相應的servlet類 3.通過servlet中的列印流物件將生成的HTML資料輸出給伺服器 4.伺服器將s
Servlet的生命週期、工作原理和一次請求響應過程
一、Servlet的生命週期 Servlet的生命週期分為4個階段:例項化- ->初始化- ->執行處理- ->銷燬 (1)例項化——new:伺服器第一次被訪問時,載入一個Servlet容器,而且只會被載入一次。 (2)初始化——init
Sql server儲存過程以及一次插入多條記錄
首先簡單介紹sql server儲存過程吧。至於概念含義啥的就不做過多介紹了。它其實和mysql有些類似,語法大同小異。 還是用例子說明問題吧。CREATE PROCEDURE insert_supplier @supplier_name varchar(30), @sup
一次請求到響應的過程
1. 在瀏覽器輸入一個網址或在頁面裡點選一個超連結 2. 本機上的dns開始解析,看最近這兩天有沒有訪問過這個網站(本機dns最多儲存1000個最近訪問的網址),有的話直接返回。沒有的話,本機dns會將這個網址傳送給dns根伺服器 3. dns根伺服器
一次測試即學習的案例
icon dsm png RM wiki one https log image 一般工程人員都知道 TDD 的使用方式,也明白 UnitTest 對於程式碼品質有著良好的保護 但比較少去探討的另一個好處應該是「學習」這件事了 雖然一般來說我們寫 Testing 其實是針對
MySQL提示too many connections的一次解決過程
端口 存在 機器 很多 個數 https cat use skip 在一次故障過程中,登錄mysql時候提示too many connections,重啟數據庫後,很快再次提示,show processlist查看等待進程,發現很多類似:mysql>show proc
oracle Insert 一次插入多條記錄
pan rac ora 方法 tab where ble code 兩種方法 oracle Insert 一次插入多條記錄有兩種方法: 1)Insert All Into table_name values ... insert all into table_name v
記升級一次的http2學習
col 技術 per 數據 怎麽 優勢 情況 我們 chrome瀏覽器 首先,就先對比下http2和http1.X的區別和升級它的優勢吧。 在 HTTP 1.X 中,為了性能考慮,我們會引入雪碧圖、將小圖內聯、使用多個域名等等的方式。這一切都是因為瀏覽器限制了同一個域名下
使用 SpringAOP 獲取一次請求流經方法的調用次數和調用耗時
ray item 方法名 lin catch ger however 通知 eth 引語作為工程師,不能僅僅滿足於實現了現有的功能邏輯,還必須深入認識系統。一次請求,流經了哪些方法,執行了多少次DB操作,訪問了多少次文件操作,調用多少次API操作,總共有多少次IO操作,多少
一次網站負載排查記錄
出錯 其他 繼續 nginx 證明 fff 相同 這也 數據 背景: 某天早上9.39分,nagios監控突然報警,我們一臺手機業務機器出現負載升高,達到60多,這臺機器僅8核心8G內存,伴隨其他監控出現socket timeout,連接失敗。一看該問題就會想到會嚴重影響業
一次linux啟動故障記錄
故障背景: 在2.6.32升級核心之後,出現多臺裝置啟動失敗,失敗的全部都是ssd作為系統盤的機器,bios引導之後,螢幕就黑了,沒有列印。 一開是以為是mbr損壞了,所以將啟動盤掛載到其他伺服器上,結果發現mbr和升級之前備份的mbr是一樣的,而且和升級後能正常啟動的mbr也是一樣的。
第001講:我和Python的第一次親密接觸|學習記錄(小甲魚零基礎入門學習Python)
(標答出處: 魚C論壇) 《零基礎入門學習Python》 Python 是什麼型別的語言? Python是程式碼語言 IDLE 是什麼? IDLE是一個Python Shell,shell的意思就是“外殼”,基本上來說,就是一個通過鍵入文字與程式互
通過一次面試的學習
偶然的一次機會去了一家大公司面試,整個過程還算順利。於我而言 ,感觸很多,學習的也很多。在園子裡做個總結學習吧。 1、能去大公司堅決不去小公司 這不是一概而論,前提是有一定的工作經驗,且想跳出天花板的同學們。對於缺少工作經驗的同學來說,去小公司無疑是鍛鍊自己的最好途徑,可以身兼多職,可以接觸到