瀏覽器輸入地址後發生了什麼
瀏覽器是我們上網的一種工具,我們平時看視頻,查資料,網路衝浪都離不開它,那麼你知道當你在瀏覽器網址列敲下回車鍵之後,瀏覽器做了哪些事嗎,今天就給大家分享下瀏覽器背後的工作。
第一步:瀏覽器輸入網域名稱
例如輸入:www.php.cn
第二步:瀏覽器尋找網域的IP位址
瀏覽器會把輸入的網域解析成對應的IP,其流程如下:
1.查找瀏覽器快取:因為瀏覽器通常會快取DNS記錄一段時間,不同瀏覽器的時間可能不一樣,一般2-30分鐘不等,瀏覽器去尋找這些緩存,如果有緩存,直接返回IP,否則下一步。
2.尋找系統快取:瀏覽器快取中找不到IP之後,瀏覽器會進行系統呼叫(windows中是gethostbyname),尋找本機的hosts文件,如果找到,直接回傳IP,否則下一步。
3.查找路由器快取:如果1,2步都查詢無果,則需要藉助網絡,路由器一般都有自己的DNS緩存,將前面的請求發給路由器,查找ISP 服務商緩存DNS的伺服器,如果查找到IP則直接回,沒有的話繼續找。
4.遞迴查詢:如果以上步驟還找不到,則ISP的DNS伺服器就會進行遞迴查詢,所謂遞迴查詢就是如果主機所詢問的本地網域名稱伺服器不知道被查詢網域的IP位址,那麼本地網域名稱伺服器就以DNS客戶的身份,向其他根網域伺服器繼續發出查詢請求報文,而不是讓該主機自己進行下一步查詢。 (本地網域名稱伺服器位址是透過DHPC協定取得位址,DHPC是負責分配IP位址的)
5.迭代查詢:本機網域名稱伺服器採用迭代查詢,它先向一個根網域伺服器查詢。本地網域名稱伺服器向根網域名稱伺服器的查詢一般都是採用迭代查詢。所謂迭代查詢就是當根網域名稱伺服器收到本地網域名稱伺服器發出的查詢請求封包後,要嘛告訴本地網域名稱伺服器下一步應該查詢哪一個網域名稱伺服器,然後本地網域名稱伺服器自己進行後續的查詢。 (而不是替代本地網域名稱伺服器進行後續查詢)。
第三步:瀏覽器與目標伺服器建立TCP連線
1.主機瀏覽器透過DNS解析得到了目標伺服器的IP位址後,與伺服器建立TCP連線。
2.TCP3次握手連接:瀏覽器所在的客戶機向伺服器發出連接請求封包(SYN標誌為1);伺服器接收封包後,同意建立連接,並向客戶機發出確認封包(SYN,ACK標誌位元皆為1);客戶機接收到確認封包後,再次向伺服器發出封包,確認已接收到確認訊息;此處客戶機與伺服器之間的TCP連線建立完成,開始通信。
第四步:瀏覽器透過http協定傳送請求
瀏覽器向主機發起一個HTTP-GET方法封包請求。請求中包含訪問的URL,也就是http://www.php.cn/ ,KeepAlive,長連接,還有User-Agent用戶瀏覽器作業系統信息,編碼等。值得一提的是Accep-Encoding和Cookies項目。 Accept-Encoding一般採用gzip,壓縮之後傳送html檔。 Cookies如果是首次訪問,會提示伺服器建立使用者快取訊息,如果不是,可以利用Cookies對應鍵值,找到對應緩存,快取裡面存放著使用者名,密碼和一些使用者設定項目。
第五步:某些服務會做永久重定向回應
對於大型網站存在多個主機站點,了負載平衡或匯入流量,提高SEO排名,往往不會直接返回請求頁面,而是重定向。傳回的狀態碼不是200OK,而是301,302以3開頭的重定向碼,瀏覽器在取得了重定向回應後,在回應訊息中Location項目找到重定向位址,瀏覽器重新第一步存取即可。
重定向的作用:重定向是為了負載平衡或導入流量,提高SEO排名。利用一個前端伺服器接受請求,然後負載到不同的主機上,可以大大提高站點的業務並發處理能力;重定向也可將多個網域的訪問,集中到一個站點;由於baidu.com,www.baidu. com會被搜尋引擎認為是兩個網站,照成每個的連結數都會減少從而降低排名,永久重定向會將兩個地址關聯起來,搜尋引擎會認為是同一個網站,從而提高排名。
第六步:瀏覽器追蹤重定向位址
當瀏覽器知道了重定向後最終的存取位址之後,重新發送一個http請求,發送內容同上。
第七個步驟:伺服器處理請求
伺服器接收到取得請求,然後處理並傳回一個回應。
第八步:伺服器發出一個HTML回應
傳回狀態碼200 OK,表示伺服器可以回應請求,傳回封包,由於在標頭中Content-type為“text/html”,瀏覽器以HTML形式呈現,而不是下載檔案。
第九步:釋放TCP連線
1.瀏覽器所在主機向伺服器發出連線釋放封包,然後停止傳送資料;
# 2.伺服器接收到釋放封包後發出確認訊息,然後將伺服器上未傳送完的資料傳送完;
3.伺服器資料傳輸完畢後,傳送連線釋放封包給客戶機;
4.客戶機接收到封包後,發出確認,然後等待一段時間後,釋放TCP連線;
第十個步驟:瀏覽器顯示頁面
##在瀏覽器沒有完整接受全部HTML文件時,它就已經開始顯示這個頁面了,瀏覽器接收到傳回的資料包,根據瀏覽器的渲染機制對對應的資料進行渲染。渲染後的數據,進行對應的頁面呈現與腳步的互動。 ######第十個步驟:瀏覽器發送取得嵌入在HTML中的其他內容##########例如一些樣式文件,圖片url,js檔案url等,瀏覽器會透過這些url重新發送請求,請求過程仍然是HTML讀取類似的過程,查詢域名,發送請求,重定向等。不過這些靜態檔案是可以快取到瀏覽器中的,有時存取這些檔案不需要透過伺服器,直接從快取中取。某些網站也會使用第三方CDN進行託管這些靜態檔案。 ##########
以上是瀏覽器輸入地址後發生了什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

火狐浏览器是“美国”的。Firefox火狐浏览器是开源基金组织Mozilla研发的一个自由及开放源代码的网页浏览器;而Mozilla基金会成立于2003年7月,是一家美国公司,现位于美国加利福尼亚州的芒廷维尤。

电脑浏览器打不开网页但能上网解决方法:1、网络设置问题,将路由器断电并等待几分钟,然后再重新插上电源;2、浏览器设置问题,清除浏览器缓存和浏览历史记录,确保浏览器没有设置代理服务器或虚拟专用网络;3、DNS设置问题,将DNS设置更改为公共DNS服务器地址;4、杀毒软件或防火墙问题,禁用杀毒软件或防火墙,再尝试打开网页;5、网页本身的问题,等待一段时间或联系网站管理员了解情况。

Windows10自带的Edge浏览器在程序面板上是不能被卸载的,但是有些网友不喜欢使用edge浏览器,想要卸载掉它。那么我们可以尝试如何卸载edge浏览器呢?下面小编就教下大家强制卸载edge浏览器的方法。具体的方法如下:1、右击左下角开始,点击“windowspowershell(管理员)”打开。2、进入命令界面,输入代码get-appxpackage*edge*,查找edge包。3、在edge包中找到packagefullname,选中并复制。4、接着输入命令Remove-appxpack

微软于2020年初发布了基于Chromium(谷歌的开源引擎)的NewEdge版本。新Edge的感觉与谷歌Chrome相似,并且具有Chrome中可用的功能。但是,许多用户报告说他们在启动MicrosoftNewEdge后立即看到黑屏。用户可以访问设置菜单,但是当他们单击菜单中的任何选项时,它不起作用,只有黑屏可见。当计算机鼠标悬停在选项上并且用户可以关闭浏览器时,它会突出显示选项。在PC上打开新的Edge浏览器时是否遇到黑屏?那么这篇文章将对你有用。在这篇文章中,

如何阻止Outlook在Edge中打开链接在继续之前,请确保您的首选浏览器在Windows中设置为默认浏览器。这可确保在所需的浏览器中打开Outlook链接。要检查并设置默认浏览器:对于Windows10:单击“开始”菜单,然后选择“设置”转到“应用程序”,然后转到“默认应用程序”在默认应用程序列表的底部查找“Web浏览器”如果列出了您的首选浏览器,则一切就绪。如果列出了MicrosoftEdge,请单击它,然后从列表中选择您喜欢的浏览器。如果出现提示,请单击“仍然切换”。修复Edge问题中Ou

许多用户对MicrosoftEdge中网页周围的白色边框不满意。他们认为这是不必要的和分散注意力的,他们要求Microsoft完全删除MicrosoftEdge的边框。这类似于“不要修复没有损坏的东西”的说法,但Microsoft似乎没有考虑到这一点。当然,它是一种流行的网络浏览器,提供多种功能,包括内置广告拦截器、跟踪预防和密码管理器。但是,某些用户可能会发现浏览器在网页周围有边框。此边框可能会分散注意力或难看,有几种方法可以将其删除。在关于r/Edge的冗长对话中,一些普通的非内部用户发现,

edge是由微软开发的基于Chromium开源项目及其他开源软件的网页浏览器。Edge浏览器主要特点是能够支持目前主流的Web技术,作为Windows10自带浏览器,给微软用户带来更好的功能体验。

苹果自带的浏览器叫“Safari”;Safari是一款由苹果公司开发的网页浏览器,是各类苹果设备的默认浏览器,该浏览器使用的是WebKit浏览器引擎,包含WebCore排版引擎及JavaScriptCore解析引擎,在GPL条约下授权,同时支持BSD系统的开发。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3漢化版
中文版,非常好用

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。