丝袜人妻一区二区三区_少妇福利无码视频_亚洲理论片在线观看_一级毛片国产A级片

關(guān)于網(wǎng)站打開(kāi)慢怎么回事啊,你需要知道這些面試官:如果你訪問(wèn)一個(gè)網(wǎng)站很慢,怎么排查和解決?

你知道計(jì)算機(jī)網(wǎng)絡(luò)的應(yīng)用層知道多少,socket socket是什么嗎?你知道你的網(wǎng)站為什么訪問(wèn)緩慢嗎?你知道為什么fidder,Charles能抓住包嗎?今天我們將一一揭開(kāi)秘密!

一、插座()插座是什么?

套接字(套接字)是網(wǎng)絡(luò)中其他主機(jī)上的應(yīng)用進(jìn)程進(jìn)行雙向通信的端口抽象。網(wǎng)絡(luò)進(jìn)程通信的一端是套接字,另一臺(tái)主機(jī)的進(jìn)程是通過(guò)套接字發(fā)送數(shù)據(jù)報(bào)進(jìn)行通信。例如,TCP協(xié)議使用主機(jī)的IP地址端口號(hào)作為TCP連接的端點(diǎn)。這個(gè)端點(diǎn)是插座。

套接字主要有以下三種類型:

  • 流套接字(SOCK_STREAM): 流套接字基于TCP傳輸協(xié)議, 主要用于面向連接的、可靠的數(shù)據(jù)傳輸服務(wù),由于TCP協(xié)議的特點(diǎn),使用流套接字進(jìn)行通信時(shí)能夠保證數(shù)據(jù)無(wú)差錯(cuò)、無(wú)重復(fù)傳送、并按順序接收,通信雙方不需要在程序中進(jìn)行相應(yīng)的處理。
  • 數(shù)據(jù)報(bào)套接字(SOCK_DGRAM): 因?yàn)閁DP協(xié)議傳輸?shù)氖菙?shù)據(jù)報(bào),所以數(shù)據(jù)報(bào)套接字是基于UDP傳輸協(xié)議的,對(duì)應(yīng)于無(wú)連接的UDP服務(wù)應(yīng)用,該服務(wù)并不能保證數(shù)據(jù)傳輸?shù)目煽啃裕?也無(wú)法保證數(shù)據(jù)按照順序到達(dá), 同時(shí)通信兩端不需要建立長(zhǎng)時(shí)間的連接,UDP客戶端發(fā)送一個(gè)數(shù)據(jù)給服務(wù)器后,就可以使用同一個(gè)套接字給另一個(gè)服務(wù)器發(fā)送數(shù)據(jù), 當(dāng)使用UDP套接字時(shí),丟包等問(wèn)題需要在程序中進(jìn)行處理。
  • 原始套接字(SOCK_RAW): 由于流套接字和數(shù)據(jù)報(bào)套接字只能抓取TCP和UDP協(xié)議的數(shù)據(jù),當(dāng)需要處理非傳輸層數(shù)據(jù)包或操作系統(tǒng)無(wú)法處理的數(shù)據(jù)包時(shí),就需要使用原始套接字來(lái)發(fā)送。

二、URI(統(tǒng)一資源標(biāo)識(shí)符)和URL(統(tǒng)一資源定位符)之間的區(qū)別?

  • URL(統(tǒng)一資源定位符) 也可以說(shuō)是我們平常上網(wǎng)時(shí)輸入的網(wǎng)址,它標(biāo)識(shí)一個(gè)互聯(lián)網(wǎng)資源,并且指定其進(jìn)行操作或獲取該資源的方法,例如CSDN的網(wǎng)址,該URL標(biāo)識(shí)一個(gè)特定資源并表示該資源的某種形式可以通過(guò)HTTPS協(xié)議從相應(yīng)的位置獲取。
  • URL是URI的子集, 兩者都定義了資源是什么?而URL還定義了如何能夠訪問(wèn)到資源,URI是一種語(yǔ)義上的抽象概念,可以是絕對(duì)的也可以是相對(duì)的。而URL則必須提供足夠的信息來(lái)定位,是絕對(duì)的,

所以總的來(lái)說(shuō),只要能唯一標(biāo)識(shí)資源的就是URI,在URI的基礎(chǔ)上能給出其資源的訪問(wèn)方式的就是URL。

三、為什么 fidder,charles 能抓到你的包【抓取數(shù)據(jù)包的過(guò)程】

假如我們需要抓取客戶端的數(shù)據(jù)包,需要監(jiān)控客戶端與服務(wù)器交互之間的網(wǎng)絡(luò)節(jié)點(diǎn),監(jiān)控其中任意一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)(網(wǎng)卡),獲取所有經(jīng)過(guò)網(wǎng)卡中的數(shù)據(jù),對(duì)這些數(shù)據(jù)按照網(wǎng)絡(luò)協(xié)議進(jìn)行解析,這就是抓包的基本原理。 而中間的網(wǎng)絡(luò)節(jié)點(diǎn)不受我們控制,是基本無(wú)法實(shí)現(xiàn)抓包的,因此只能在客戶端與服務(wù)器之間進(jìn)行抓包。

① 當(dāng)采用抓包工具抓取 HTTP 數(shù)據(jù)包時(shí),過(guò)程如下:

  • 首先抓包工具會(huì)提出代理服務(wù),客戶端需要連接該代理;
  • 客戶端發(fā)出 HTTP 請(qǐng)求時(shí),會(huì)經(jīng)過(guò)抓包工具的代理,抓包工具將請(qǐng)求的原文進(jìn)行展示;
  • 抓包工具使用該原文將請(qǐng)求發(fā)送給服務(wù)器;
  • 服務(wù)器返回結(jié)果給抓包工具,抓包工具將返回結(jié)果進(jìn)行展示;
  • 抓包工具將服務(wù)器返回的結(jié)果原樣返回給客戶端。

這里抓包工具相當(dāng)于透明人,數(shù)據(jù)經(jīng)過(guò)的時(shí)候它一只手接到數(shù)據(jù),然后另一只手把數(shù)據(jù)傳出去。

② 當(dāng)抓取 HTTPS 數(shù)據(jù)包時(shí):

  • 客戶端連接抓包工具提供的代理服務(wù),并安裝抓包工具的根證書;
  • 客戶端發(fā)出 HTTPS 請(qǐng)求,抓包工具模擬服務(wù)器與客戶端進(jìn)行 TLS握手交換密鑰等流程;
  • 抓包工具發(fā)送一個(gè) HTTPS 請(qǐng)求給客戶端請(qǐng)求的目標(biāo)服務(wù)器,并與目標(biāo)服務(wù)器進(jìn)行 TLS 握手交換密鑰等流程;
  • 客戶端使用與抓包工具協(xié)定好的密鑰加密數(shù)據(jù)后發(fā)送給抓包工具;
  • 抓包工具使用與客戶端協(xié)定好的密鑰解密數(shù)據(jù),并將結(jié)果進(jìn)行展示;
  • 抓包工具將解密后的客戶端數(shù)據(jù),使用與服務(wù)器協(xié)定好的密鑰進(jìn)行加密后發(fā)送給目標(biāo)服務(wù)器;
  • 服務(wù)器解密數(shù)據(jù)后,做對(duì)應(yīng)的邏輯處理,然后將返回結(jié)果使用與抓包工具協(xié)定好的密鑰進(jìn)行加密發(fā)送給抓包工具;
  • 抓包工具將服務(wù)器返回的結(jié)果,用與服務(wù)器協(xié)定好的密鑰解密,并將結(jié)果進(jìn)行展示;
  • 抓包工具將解密后的服務(wù)器返回?cái)?shù)據(jù),使用與客戶端協(xié)定好的密鑰進(jìn)行加密后發(fā)送給客戶端;
  • 客戶端解密數(shù)據(jù)。

這個(gè)時(shí)候抓包工具對(duì)客戶端來(lái)說(shuō)相當(dāng)于服務(wù)器,對(duì)服務(wù)器來(lái)說(shuō)相當(dāng)于客戶端。 在這個(gè)傳輸過(guò)程中,客戶端會(huì)以為它就是目標(biāo)服務(wù)器,服務(wù)器也會(huì)以為它就是請(qǐng)求發(fā)起的客戶端。

四、如果你訪問(wèn)一個(gè)網(wǎng)站很慢,怎么排查和解決?

網(wǎng)站打開(kāi)慢的原因有很多,總結(jié)一下最常見(jiàn)的幾個(gè)。

  • 查看本地網(wǎng)絡(luò)是否正常,查看網(wǎng)絡(luò)帶寬是否被占用,如有其他進(jìn)程正在占用本地網(wǎng)絡(luò)帶寬。
  • 若網(wǎng)絡(luò)連接正常,那么就應(yīng)該對(duì)該網(wǎng)站的服務(wù)器速度進(jìn)行排查,通過(guò)ping命令查看連接到服務(wù)器的時(shí)間和丟包情況,如果服務(wù)器正常,那么丟包率一般不會(huì)超過(guò)1%, 其次是ping值要小,最后是ping值要穩(wěn)定,如果ping值的最大和最小差值過(guò)大說(shuō)明路由不穩(wěn)定。 或者我們查看打開(kāi)同臺(tái)服務(wù)器上的其他網(wǎng)站的速度,看打開(kāi)其他網(wǎng)站的速度是否也慢。
  • 如果網(wǎng)站打開(kāi)速度時(shí)快時(shí)慢,甚至有時(shí)候打不開(kāi)的情況,那么有可能是空間不穩(wěn)定,如果確定了是該問(wèn)題,那么就應(yīng)該找你的空間商更換空間了,可以選擇購(gòu)買雙線或多線空間。
  • 從網(wǎng)站本身尋找原因,網(wǎng)站的問(wèn)題主要包括網(wǎng)站程序設(shè)計(jì)、網(wǎng)頁(yè)結(jié)構(gòu)設(shè)計(jì)和網(wǎng)頁(yè)內(nèi)容三部分。

1、網(wǎng)站程序設(shè)計(jì): 當(dāng)訪問(wèn)網(wǎng)頁(yè)中有拖慢網(wǎng)站打開(kāi)速度的代碼,會(huì)直接影響網(wǎng)站的打開(kāi)速度,如網(wǎng)頁(yè)中使用的統(tǒng)計(jì)代碼,一般是要放置在網(wǎng)站末尾的,防止其在加載過(guò)程中出現(xiàn)延遲。

2、網(wǎng)頁(yè)結(jié)構(gòu)設(shè)計(jì): 查看網(wǎng)頁(yè)布局的代碼,如果網(wǎng)頁(yè)使用的table布局的網(wǎng)頁(yè),查看是否被嵌套次數(shù)過(guò)多,或者是使用一個(gè)大表格分成多個(gè)小表格的布局,這個(gè)時(shí)候可以使用div配合css來(lái)改進(jìn)。

3、網(wǎng)頁(yè)內(nèi)容: 查看網(wǎng)頁(yè)中是否有許多大尺寸的圖片和大尺寸的flash存在,我們可以通過(guò)降低圖片質(zhì)量,減少圖片尺寸,少用過(guò)多的flash來(lái)解決。或者可能是有的網(wǎng)站引用了其他網(wǎng)站的內(nèi)容, 若某些被引用的網(wǎng)站訪問(wèn)速度慢或者不存在,該網(wǎng)站的打開(kāi)速度自然會(huì)變慢,所以可以直接減少不必要的加載項(xiàng)。

五、說(shuō)一下網(wǎng)頁(yè)解析的全過(guò)程【用戶輸入網(wǎng)址到顯示對(duì)應(yīng)頁(yè)面的全過(guò)程】

在用戶輸入U(xiǎn)RL之后,瀏覽器首先會(huì)進(jìn)行DNS解析,將用戶輸入的域名解析成web服務(wù)器的IP地址,之后會(huì)通過(guò)該IP地址與服務(wù)器進(jìn)行三次握手建立TCP連接,連接完成之后通過(guò)HTTP協(xié)議發(fā)送客戶端的請(qǐng)求,在服務(wù)器接收到該請(qǐng)求之后,會(huì)根據(jù)該請(qǐng)求體中的內(nèi)容決定如何獲取目標(biāo)文件,并且將目標(biāo)文件返回給客戶端;瀏覽器在收到文件之后,首先會(huì)通過(guò)解析HTML文件為DOM樹,再解析CSS文件為渲染樹,在CSS文件解析完成之后將根據(jù)渲染樹的布局在頁(yè)面上顯示網(wǎng)頁(yè);最后客戶端和服務(wù)器通過(guò)四次揮手?jǐn)嚅_(kāi)連接。

過(guò)程如下圖這樣:



其中的名詞解析:

  • DNS 解析: 當(dāng)用戶輸入一個(gè)網(wǎng)址并按下回車鍵的時(shí)候,瀏覽器獲得一個(gè)域名,而在實(shí)際通信過(guò)程中,我們需要的是一個(gè) IP地址,因此我們需要先把域名轉(zhuǎn)換成相應(yīng) IP 地址。
  • TCP 連接: 瀏覽器通過(guò) DNS 獲取到 Web 服務(wù)器真正的 IP 地址后,便向 Web 服務(wù)器發(fā)起 TCP 連接請(qǐng)求,通過(guò) TCP三次握手建立好連接后,瀏覽器便可以將 HTTP 請(qǐng)求數(shù)據(jù)發(fā)送給服務(wù)器了。
  • 發(fā)送 HTTP 請(qǐng)求: 瀏覽器向 Web 服務(wù)器發(fā)起一個(gè) HTTP 請(qǐng)求,HTTP 協(xié)議是建立在 TCP 協(xié)議之上的應(yīng)用層協(xié)議,其本質(zhì)是在建立起的TCP連接中,按照HTTP協(xié)議標(biāo)準(zhǔn)發(fā)送一個(gè)索要網(wǎng)頁(yè)的請(qǐng)求。

在這一過(guò)程中,會(huì)涉及到負(fù)載均衡等操作。

拓展:什么是負(fù)載均衡?

負(fù)載均衡, 英文名為 Load Balance,其含義是指將負(fù)載(工作任務(wù))進(jìn)行平衡、分?jǐn)偟蕉鄠€(gè)操作單元上進(jìn)行運(yùn)行, 例如 FTP 服務(wù)器、Web 服務(wù)器、企業(yè)核心服務(wù)器和其他主要任務(wù)服務(wù)器等,從而協(xié)同完成工作任務(wù)。

負(fù)載均衡建立在現(xiàn)有的網(wǎng)絡(luò)之上,它提供了一種透明且廉價(jià)有效的方法擴(kuò)展服務(wù)器和網(wǎng)絡(luò)設(shè)備的帶寬、增加吞吐量、加強(qiáng)網(wǎng)絡(luò)處理能力并提高網(wǎng)絡(luò)的靈活性和可用性。

負(fù)載均衡是分布式系統(tǒng)架構(gòu)設(shè)計(jì)中必須考慮的因素之一, 例如天貓、京東等大型用戶網(wǎng)站中為了處理海量用戶發(fā)起的請(qǐng)求,其往往采用分布式服務(wù)器,并通過(guò)引入反向代理等方式將用戶請(qǐng)求均勻分發(fā)到每個(gè)服務(wù)器上,而這一過(guò)程所實(shí)現(xiàn)的就是負(fù)載均衡。

  • 處理請(qǐng)求并返回: 服務(wù)器獲取到客戶端的 HTTP 請(qǐng)求后,會(huì)根據(jù) HTTP 請(qǐng)求中的內(nèi)容來(lái)決定如何獲取相應(yīng)的文件,并將文件發(fā)送給瀏覽器。
  • 瀏覽器渲染: 瀏覽器根據(jù)響應(yīng)開(kāi)始顯示頁(yè)面,首先解析 HTML 文件構(gòu)建 DOM 樹,然后解析 CSS文件構(gòu)建渲染樹,等到渲染樹構(gòu)建完成后,瀏覽器開(kāi)始布局渲染樹并將其繪制到屏幕上。
  • 斷開(kāi)連接: 客戶端和服務(wù)器通過(guò)四次揮手終止 TCP 連接。

今日總結(jié)

今天的內(nèi)容主要就是學(xué)習(xí)了網(wǎng)站的請(qǐng)求和顯示過(guò)程,了解其中通信的原理,URL和URI的區(qū)別、如何解決網(wǎng)站訪問(wèn)慢等問(wèn)題。

如果小伙伴們有遇到其他相關(guān)的面試題,歡迎在評(píng)論區(qū)留言提出,我會(huì)把大家提出的總結(jié)到文章內(nèi), 歡迎小伙伴們一起評(píng)論區(qū)打卡學(xué)習(xí)!

1.《關(guān)于網(wǎng)站打開(kāi)慢怎么回事啊,你需要知道這些面試官:如果你訪問(wèn)一個(gè)網(wǎng)站很慢,怎么排查和解決?》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識(shí),僅代表作者本人觀點(diǎn),與本網(wǎng)站無(wú)關(guān),侵刪請(qǐng)聯(lián)系頁(yè)腳下方聯(lián)系方式。

2.《關(guān)于網(wǎng)站打開(kāi)慢怎么回事啊,你需要知道這些面試官:如果你訪問(wèn)一個(gè)網(wǎng)站很慢,怎么排查和解決?》僅供讀者參考,本網(wǎng)站未對(duì)該內(nèi)容進(jìn)行證實(shí),對(duì)其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。

3.文章轉(zhuǎn)載時(shí)請(qǐng)保留本站內(nèi)容來(lái)源地址,http://f99ss.com/gl/3077299.html

上一篇

網(wǎng)頁(yè)愛(ài)奇藝為什么播不了怎么辦看這里!炮制了爆款的愛(ài)奇藝,為何還是翻不了身?

下一篇

等待是為了更好的遇見(jiàn) 威鋒網(wǎng)客戶端全新上線

網(wǎng)站打開(kāi)慢怎么回事啊看這里!告訴你導(dǎo)致網(wǎng)站頁(yè)面打開(kāi)速度慢的幾種情況

網(wǎng)站打開(kāi)慢怎么回事啊看這里!告訴你導(dǎo)致網(wǎng)站頁(yè)面打開(kāi)速度慢的幾種情況

網(wǎng)站打開(kāi)慢怎么回事啊相關(guān)介紹,網(wǎng)站頁(yè)面打開(kāi)緩慢的原因有很多。主要注意以下幾個(gè)方面,可以很好地避免。 一、網(wǎng)站頁(yè)面打不開(kāi)的主要原因!   這是導(dǎo)致網(wǎng)站速度慢的主要原因,也就是說(shuō)寬帶不足。同一網(wǎng)站,如果帶寬高,訪問(wèn)速度會(huì)明顯加快。  ...