2019-04-16 面試題:網(wǎng)絡(luò)問題

http 響應(yīng)常見狀態(tài)碼

  • 100-199 : 表示成功接收請(qǐng)求, 要求客戶端繼續(xù)提交下一次請(qǐng)求才能完成整個(gè)處理過程
  • 200-299: 表示成果接收請(qǐng)求并已完成整個(gè)處理過程. 常用 200
  • 300-399: 為完成請(qǐng)求, 客戶需進(jìn)一步細(xì)化需求: 例如: 請(qǐng)求的資源已經(jīng)移動(dòng)一個(gè)新地址, 常用 302(重定向), 307 和 304(拿緩存)
  • 400-499: 客戶端的請(qǐng)求有錯(cuò)誤, 包含語法錯(cuò)誤或者不能正確執(zhí)行. 常用 404(請(qǐng)求的資源在 web 服務(wù)器中沒有) 403(服務(wù)器拒絕訪問, 權(quán)限不夠)
  • 500-599: 服務(wù)器端出現(xiàn)錯(cuò)誤

常用:

  • 200 正常稽揭,表示一切正常, 返回的是正常請(qǐng)求結(jié)果
  • 302/307 臨時(shí)重定向,指出請(qǐng)求的文檔已被臨時(shí)移動(dòng)到別處, 此文檔的新的 url 在 location 響應(yīng)頭中給出
  • 304 未修改揪胃,表示客戶機(jī)緩存的版本是最新的, 客戶機(jī)應(yīng)該繼續(xù)使用它
  • 403 禁止,服務(wù)器理解客戶端請(qǐng)求, 但拒絕處理它, 通常用于服務(wù)器上文件或目錄的權(quán)限設(shè)置所致
  • 404 找不到骚勘,服務(wù)器上不存在客戶機(jī)所請(qǐng)求的資源
  • 500 服務(wù)器內(nèi)部錯(cuò)誤俏讹,服務(wù)器端的 cgi, asp, jsp 等程序發(fā)生錯(cuò)誤

簡(jiǎn)述 http 1.1 與 http 1.0 的區(qū)別

  • http 1.0 對(duì)于每個(gè)連接都得建立一次連接, 一次只能傳送一個(gè)請(qǐng)求和響應(yīng), 請(qǐng)求就會(huì)關(guān)閉, http1.0 沒有 Host 字段
  • 而 http1.1 在同一個(gè)連接中可以傳送多個(gè)請(qǐng)求和響應(yīng), 多個(gè)請(qǐng)求可以重疊和同時(shí)進(jìn)行, http1.1 必須有 host 字段
  • http1.1 中引入了 ETag 頭, 它的值 entity tag 可以用來唯一的描述一個(gè)資源. 請(qǐng)求消息中可以使用 If-None-Match 頭域來匹配資源的 entitytag 是否有變化
  • http1.1 新增了 Cache-Control 頭域(消息請(qǐng)求和響應(yīng)請(qǐng)求都可以使用), 它支持一個(gè)可擴(kuò)展的指令子集
  • http1.0 中只定義了 16 個(gè)狀態(tài)響應(yīng)碼, 對(duì)錯(cuò)誤或警告的提示不夠具體. http1.1 引入了一個(gè) Warning 頭域, 增加對(duì)錯(cuò)誤或警告信息的描述. 且新增了 24 個(gè)狀態(tài)響應(yīng)碼

說一下 TCP 三次握手和四次揮手

  • 建立 TCP 連接需要三次握手:三次握手: 首先 Client 端發(fā)送連接請(qǐng)求報(bào)文定拟,Server 段接受連接后回復(fù) ACK 報(bào)文,并為這次連接分配資源驱证。Client 端接收到 ACK 報(bào)文后也向 Server 段發(fā)生 ACK 報(bào)文抹锄,并分配資源,這樣 TCP 連接就建立了吻育。
    • 第一步: 客戶機(jī)的 TCP 先向服務(wù)器的 TCP 發(fā)送一個(gè)連接請(qǐng)求報(bào)文. 這個(gè)特殊的報(bào)文中不含應(yīng)用層數(shù)據(jù), 其首部中的 SYN 標(biāo)志位被置 1. 另外, 客戶機(jī)會(huì)隨機(jī)選擇一個(gè)起始序號(hào) seq=x(連接請(qǐng)求報(bào)文不攜帶數(shù)據(jù),但要消耗掉一個(gè)序號(hào))
    • 第二步: 服務(wù)器端的 TCP 收到連接請(qǐng)求報(bào)文后, 若同意建立連接, 就向客戶機(jī)發(fā)送請(qǐng)求, 并為該 TCP 連接分配 TCP 緩存和變量. 在確認(rèn)報(bào)文中,SYN 和 ACK 位都被置為 1, 確認(rèn)號(hào)字段的值為 x+1, 并且服務(wù)器隨機(jī)產(chǎn)生起始序號(hào) seq=y(確認(rèn)報(bào)文不攜帶數(shù)據(jù), 但也要消耗掉一個(gè)序號(hào)). 確認(rèn)報(bào)文同樣不包含應(yīng)用層數(shù)據(jù).
    • 第三步: 當(dāng)客戶機(jī)收到確認(rèn)報(bào)文后, 還要向服務(wù)器給出確認(rèn), 并且也要給該連接分配緩存和變量. 這個(gè)報(bào)文的 ACK 標(biāo)志位被置為 1, 序號(hào)字段為 x+1, 確認(rèn)號(hào)字段為 y+1
  • 四次揮手
    • 第一步: 客戶機(jī)打算關(guān)閉連接,就向其 TCP 發(fā)送一個(gè)連接釋放報(bào)文,并停止再發(fā)送數(shù)據(jù),主動(dòng)關(guān)閉 TCP 連接, 該報(bào)文的 FIN 標(biāo)志位被置 1, seq=u, 它等于前面已經(jīng)傳送過的數(shù)據(jù)的最后一個(gè)字節(jié)的序號(hào)加 1(FIN 報(bào)文即使不攜帶數(shù)據(jù),也要消耗掉一個(gè)序號(hào))
    • 第二步: 服務(wù)器接收連接釋放報(bào)文后即發(fā)出確認(rèn), 確認(rèn)號(hào)是 ack=u+1, 這個(gè)報(bào)文自己的序號(hào)是 v, 等于它前面已傳送過的數(shù)據(jù)的最后一個(gè)自己的序號(hào)加 1. 此時(shí), 從客戶機(jī)到服務(wù)器這個(gè)方向的連接就釋放了, TCP 連接處于半關(guān)閉狀態(tài). 但服務(wù)器若發(fā)送數(shù)據(jù), 客戶機(jī)仍要接收, 即從服務(wù)器到客戶機(jī)的連接仍未關(guān)閉.
    • 第三步: 若服務(wù)器已經(jīng)沒有了要向客戶機(jī)發(fā)送的數(shù)據(jù), 就通知 TCP 釋放連接, 此時(shí)其發(fā)出 FIN=1 的連接釋放報(bào)文
    • 第四步: 客戶機(jī)收到連接釋放報(bào)文后, 必須發(fā)出確認(rèn). 在確認(rèn)報(bào)文中, ACK 字段被置為 1, 確認(rèn)號(hào) ack=w+1, 序號(hào) seq=u+1. 此時(shí), TCP 連接還沒有釋放掉, 必須經(jīng)過等待計(jì)時(shí)器設(shè)置的時(shí)間 2MSL 后, A 才進(jìn)入到連接關(guān)閉狀態(tài).

計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)有哪些

[圖片上傳失敗...(image-50f618-1555410332682)]
學(xué)習(xí)計(jì)算機(jī)網(wǎng)絡(luò)時(shí)我們一般采用折中的辦法游两,也就是中和 OSI 和 TCP/IP 的優(yōu)點(diǎn),采用一種只有五層協(xié)議的體系結(jié)構(gòu)宝踪,這樣既簡(jiǎn)潔又能將概念闡述清楚肴沫。

應(yīng)用層

應(yīng)用層(application-layer)的任務(wù)是通過應(yīng)用進(jìn)程間的交互來完成特定網(wǎng)絡(luò)應(yīng)用。應(yīng)用層協(xié)議定義的是應(yīng)用進(jìn)程(進(jìn)程:主機(jī)中正在運(yùn)行的程序)間的通信和交互的規(guī)則站蝠。對(duì)于不同的網(wǎng)絡(luò)應(yīng)用需要不同的應(yīng)用層協(xié)議吟孙。在互聯(lián)網(wǎng)中應(yīng)用層協(xié)議很多,如域名系統(tǒng) DNS碘勉,支持萬維網(wǎng)應(yīng)用的 HTTP 協(xié)議,支持電子郵件的 SMTP 協(xié)議等等胜嗓。我們把應(yīng)用層交互的數(shù)據(jù)單元稱為報(bào)文辞州。

域名系統(tǒng)

  • 域名系統(tǒng)(Domain Name System 縮寫 DNS产禾,Domain Name 被譯為域名)是因特網(wǎng)的一項(xiàng)核心服務(wù),它作為可以將域名和 IP 地址相互映射的一個(gè)分布式數(shù)據(jù)庫(kù)衫生,能夠使人更方便的訪問互聯(lián)網(wǎng),而不用去記住能夠被機(jī)器直接讀取的 IP 數(shù)串泪酱。(百度百科)例如:一個(gè)公司的 Web 網(wǎng)站可看作是它在網(wǎng)上的門戶拓轻,而域名就相當(dāng)于其門牌地址勿锅,通常域名都使用該公司的名稱或簡(jiǎn)稱。例如上面提到的微軟公司的域名溢十,類似的還有:IBM 公司的域名是 www.ibm.com泳叠、Oracle 公司的域名是 www.oracle.com、Cisco 公司的域名是 www.cisco.com 等茶宵。

HTTP 協(xié)議

  • 超文本傳輸協(xié)議(HTTP危纫,HyperText Transfer Protocol)是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議。所有的 WWW(萬維網(wǎng)) 文件都必須遵守這個(gè)標(biāo)準(zhǔn)乌庶。設(shè)計(jì) HTTP 最初的目的是為了提供一種發(fā)布和接收 HTML 頁(yè)面的方法种蝶。(百度百科)

運(yùn)輸層

運(yùn)輸層(transport layer)的主要任務(wù)就是負(fù)責(zé)向兩臺(tái)主機(jī)進(jìn)程之間的通信提供通用的數(shù)據(jù)傳輸服務(wù)。應(yīng)用進(jìn)程利用該服務(wù)傳送應(yīng)用層報(bào)文撵术《“通用的”是指并不針對(duì)某一個(gè)特定的網(wǎng)絡(luò)應(yīng)用塞椎,而是多種應(yīng)用可以使用同一個(gè)運(yùn)輸層服務(wù)罩抗。由于一臺(tái)主機(jī)可同時(shí)運(yùn)行多個(gè)線程骨坑,因此運(yùn)輸層有復(fù)用和分用的功能礁遣。所謂復(fù)用就是指多個(gè)應(yīng)用層進(jìn)程可同時(shí)使用下面運(yùn)輸層的服務(wù)续语,分用和復(fù)用相反,是運(yùn)輸層把收到的信息分別交付上面應(yīng)用層中的相應(yīng)進(jìn)程帅容。

運(yùn)輸層主要使用以下兩種協(xié)議

  • 傳輸控制協(xié)議 TCP(Transmisson Control Protocol)--提供面向連接的劝评,可靠的數(shù)據(jù)傳輸服務(wù)佣渴。
  • 用戶數(shù)據(jù)協(xié)議 UDP(User Datagram Protocol)--提供無連接的,盡最大努力的數(shù)據(jù)傳輸服務(wù)(不保證數(shù)據(jù)傳輸?shù)目煽啃裕?/li>

UDP 的主要特點(diǎn)

  • UDP 是無連接的解恰;
  • UDP 使用盡最大努力交付,即不保證可靠交付,因此主機(jī)不需要維持復(fù)雜的鏈接狀態(tài)(這里面有許多參數(shù))尽爆;
  • UDP 是面向報(bào)文的擎值;
  • UDP 沒有擁塞控制腐巢,因此網(wǎng)絡(luò)出現(xiàn)擁塞不會(huì)使源主機(jī)的發(fā)送速率降低(對(duì)實(shí)時(shí)應(yīng)用很有用,如 直播,實(shí)時(shí)視頻會(huì)議等)疫剃;
  • UDP 支持一對(duì)一赚爵、一對(duì)多疙描、多對(duì)一和多對(duì)多的交互通信诚隙;
  • UDP 的首部開銷小,只有 8 個(gè)字節(jié)起胰,比 TCP 的 20 個(gè)字節(jié)的首部要短久又。

TCP 的主要特點(diǎn)

  • TCP 是面向連接的。(就好像打電話一樣,通話前需要先撥號(hào)建立連接地消,通話結(jié)束后要掛機(jī)釋放連接)炉峰;
  • 每一條 TCP 連接只能有兩個(gè)端點(diǎn),每一條 TCP 連接只能是點(diǎn)對(duì)點(diǎn)的(一對(duì)一)脉执;
  • TCP 提供可靠交付的服務(wù)疼阔。通過 TCP 連接傳送的數(shù)據(jù),無差錯(cuò)适瓦、不丟失竿开、不重復(fù)、并且按序到達(dá)玻熙;
  • TCP 提供全雙工通信否彩。TCP 允許通信雙方的應(yīng)用進(jìn)程在任何時(shí)候都能發(fā)送數(shù)據(jù)。TCP 連接的兩端都設(shè)有發(fā)送緩存和接收緩存嗦随,用來臨時(shí)存放雙方通信的數(shù)據(jù)列荔;
  • 面向字節(jié)流。TCP 中的“流”(Stream)指的是流入進(jìn)程或從進(jìn)程流出的字節(jié)序列枚尼√悖“面向字節(jié)流”的含義是:雖然應(yīng)用程序和 TCP 的交互是一次一個(gè)數(shù)據(jù)塊(大小不等),但 TCP 把應(yīng)用程序交下來的數(shù)據(jù)僅僅看成是一連串的無結(jié)構(gòu)的字節(jié)流署恍。

網(wǎng)絡(luò)層

在 計(jì)算機(jī)網(wǎng)絡(luò)中進(jìn)行通信的兩個(gè)計(jì)算機(jī)之間可能會(huì)經(jīng)過很多個(gè)數(shù)據(jù)鏈路崎溃,也可能還要經(jīng)過很多通信子網(wǎng)。網(wǎng)絡(luò)層的任務(wù)就是選擇合適的網(wǎng)間路由和交換結(jié)點(diǎn)盯质, 確保數(shù)據(jù)及時(shí)傳送袁串。 在發(fā)送數(shù)據(jù)時(shí),網(wǎng)絡(luò)層把運(yùn)輸層產(chǎn)生的報(bào)文段或用戶數(shù)據(jù)報(bào)封裝成分組和包進(jìn)行傳送呼巷。在 TCP/IP 體系結(jié)構(gòu)中囱修,由于網(wǎng)絡(luò)層使用 IP 協(xié)議,因此分組也叫 IP 數(shù)據(jù)報(bào) 王悍,簡(jiǎn)稱 數(shù)據(jù)報(bào)破镰。

這里要注意:不要把運(yùn)輸層的“用戶數(shù)據(jù)報(bào) UDP ”和網(wǎng)絡(luò)層的“ IP 數(shù)據(jù)報(bào)”弄混。另外压储,無論是哪一層的數(shù)據(jù)單元鲜漩,都可籠統(tǒng)地用“分組”來表示。

這里強(qiáng)調(diào)指出渠脉,網(wǎng)絡(luò)層中的“網(wǎng)絡(luò)”二字已經(jīng)不是我們通常談到的具體網(wǎng)絡(luò)宇整,而是指計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)模型中第三層的名稱.

互聯(lián)網(wǎng)是由大量的異構(gòu)(heterogeneous)網(wǎng)絡(luò)通過路由器(router)相互連接起來的∮蟊欤互聯(lián)網(wǎng)使用的網(wǎng)絡(luò)層協(xié)議是無連接的網(wǎng)際協(xié)議(Intert Prococol)和許多路由選擇協(xié)議,因此互聯(lián)網(wǎng)的網(wǎng)絡(luò)層也叫做網(wǎng)際層或 IP 層。

數(shù)據(jù)鏈路層

數(shù)據(jù)鏈路層(data link layer)通常簡(jiǎn)稱為鏈路層为朋。兩臺(tái)主機(jī)之間的數(shù)據(jù)傳輸臂拓,總是在一段一段的鏈路上傳送的,這就需要使用專門的鏈路層的協(xié)議习寸。 在兩個(gè)相鄰節(jié)點(diǎn)之間傳送數(shù)據(jù)時(shí)胶惰,數(shù)據(jù)鏈路層將網(wǎng)絡(luò)層交下來的 IP 數(shù)據(jù)報(bào)組裝程幀,在兩個(gè)相鄰節(jié)點(diǎn)間的鏈路上傳送幀霞溪。每一幀包括數(shù)據(jù)和必要的控制信息(如同步信息孵滞,地址信息,差錯(cuò)控制等)鸯匹。

在接收數(shù)據(jù)時(shí)坊饶,控制信息使接收端能夠知道一個(gè)幀從哪個(gè)比特開始和到哪個(gè)比特結(jié)束。這樣殴蓬,數(shù)據(jù)鏈路層在收到一個(gè)幀后匿级,就可從中提出數(shù)據(jù)部分,上交給網(wǎng)絡(luò)層染厅。 控制信息還使接收端能夠檢測(cè)到所收到的幀中有誤差錯(cuò)痘绎。如果發(fā)現(xiàn)差錯(cuò),數(shù)據(jù)鏈路層就簡(jiǎn)單地丟棄這個(gè)出了差錯(cuò)的幀肖粮,以避免繼續(xù)在網(wǎng)絡(luò)中傳送下去白白浪費(fèi)網(wǎng)絡(luò)資源孤页。如果需要改正數(shù)據(jù)在鏈路層傳輸時(shí)出現(xiàn)差錯(cuò)(這就是說,數(shù)據(jù)鏈路層不僅要檢錯(cuò)涩馆,而且還要糾錯(cuò))行施,那么就要采用可靠性傳輸協(xié)議來糾正出現(xiàn)的差錯(cuò)。這種方法會(huì)使鏈路層的協(xié)議復(fù)雜些凌净。

物理層

在物理層上所傳送的數(shù)據(jù)單位是比特悲龟。 物理層(physical layer)的作用是實(shí)現(xiàn)相鄰計(jì)算機(jī)節(jié)點(diǎn)之間比特流的透明傳送,盡可能屏蔽掉具體傳輸介質(zhì)和物理設(shè)備的差異冰寻。 使其上面的數(shù)據(jù)鏈路層不必考慮網(wǎng)絡(luò)的具體傳輸介質(zhì)是什么须教。“透明傳送比特流”表示經(jīng)實(shí)際電路傳送后的比特流沒有發(fā)生變化斩芭,對(duì)傳送的比特流來說轻腺,這個(gè)電路好像是看不見的。

在互聯(lián)網(wǎng)使用的各種協(xié)中最重要和最著名的就是 TCP/IP 兩個(gè)協(xié)議』裕現(xiàn)在人們經(jīng)常提到的 TCP/IP 并不一定單指 TCP 和 IP 這兩個(gè)具體的協(xié)議贬养,而往往表示互聯(lián)網(wǎng)所使用的整個(gè) TCP/IP 協(xié)議族。

上面我們對(duì)計(jì)算機(jī)網(wǎng)絡(luò)的五層體系結(jié)構(gòu)有了初步的了解琴庵,下面附送一張七層體系結(jié)構(gòu)圖總結(jié)一下误算。圖片來源:https://blog.csdn.net/yaopeng_2005/article/details/7064869
[圖片上傳失敗...(image-e5ed8c-1555410332682)]

Http 和 Https 的區(qū)別(逞雒溃考)

  • Http 協(xié)議運(yùn)行在 TCP 之上,明文傳輸儿礼,客戶端與服務(wù)器端都無法驗(yàn)證對(duì)方的身份咖杂;Https 是身披 SSL(Secure Socket Layer)外殼的 Http,運(yùn)行于 SSL 上蚊夫,SSL 運(yùn)行于 TCP 之上诉字,是添加了加密和認(rèn)證機(jī)制的 HTTP。二者之間存在如下不同:
  • 端口不同:Http 與 Http 使用不同的連接方式知纷,用的端口也不一樣壤圃,前者是 80,后者是 443琅轧;
  • 資源消耗:和 HTTP 通信相比伍绳,Https 通信會(huì)由于加減密處理消耗更多的 CPU 和內(nèi)存資源;
  • 開銷:Https 通信需要證書鹰晨,而證書一般需要向認(rèn)證機(jī)構(gòu)購(gòu)買墨叛;
  • Https 的加密機(jī)制是一種共享密鑰加密和公開密鑰加密并用的混合加密機(jī)制。

對(duì)稱加密與非對(duì)稱加密

  • 對(duì)稱密鑰加密是指加密和解密使用同一個(gè)密鑰的方式模蜡,這種方式存在的最大問題就是密鑰發(fā)送問題漠趁,即如何安全地將密鑰發(fā)給對(duì)方;而非對(duì)稱加密是指使用一對(duì)非對(duì)稱密鑰忍疾,即公鑰和私鑰闯传,公鑰可以隨意發(fā)布,但私鑰只有自己知道卤妒。發(fā)送密文的一方使用對(duì)方的公鑰進(jìn)行加密處理甥绿,對(duì)方接收到加密信息后,使用自己的私鑰進(jìn)行解密则披。
  • 由于非對(duì)稱加密的方式不需要發(fā)送用來解密的私鑰共缕,所以可以保證安全性;但是和對(duì)稱加密比起來士复,它非常的慢图谷,所以我們還是要用對(duì)稱加密來傳送消息,但對(duì)稱加密所使用的密鑰我們可以通過非對(duì)稱加密的方式發(fā)送出去阱洪。

TCP 協(xié)議如何來保證傳輸?shù)目煽啃?/h3>

TCP 提供一種面向連接的便贵、可靠的字節(jié)流服務(wù)。其中冗荸,面向連接意味著兩個(gè)使用 TCP 的應(yīng)用(通常是一個(gè)客戶和一個(gè)服務(wù)器)在彼此交換數(shù)據(jù)之前必須先建立一個(gè) TCP 連接承璃。在一個(gè) TCP 連接中,僅有兩方進(jìn)行彼此通信蚌本;而字節(jié)流服務(wù)意味著兩個(gè)應(yīng)用程序通過 TCP 鏈接交換 8bit 字節(jié)構(gòu)成的字節(jié)流盔粹,TCP 不在字節(jié)流中插入記錄標(biāo)識(shí)符隘梨。

對(duì)于可靠性,TCP 通過以下方式進(jìn)行保證:

  • 數(shù)據(jù)包校驗(yàn):目的是檢測(cè)數(shù)據(jù)在傳輸過程中的任何變化玻佩,若校驗(yàn)出包有錯(cuò)出嘹,則丟棄報(bào)文段并且不給出響應(yīng)席楚,這時(shí) TCP 發(fā)送數(shù)據(jù)端超時(shí)后會(huì)重發(fā)數(shù)據(jù)咬崔;
  • 對(duì)失序數(shù)據(jù)包重排序:既然 TCP 報(bào)文段作為 IP 數(shù)據(jù)報(bào)來傳輸,而 IP 數(shù)據(jù)報(bào)的到達(dá)可能會(huì)失序烦秩,因此 TCP 報(bào)文段的到達(dá)也可能會(huì)失序垮斯。TCP 將對(duì)失序數(shù)據(jù)進(jìn)行重新排序,然后才交給應(yīng)用層只祠;
  • 丟棄重復(fù)數(shù)據(jù):對(duì)于重復(fù)數(shù)據(jù)兜蠕,能夠丟棄重復(fù)數(shù)據(jù);
  • 應(yīng)答機(jī)制:當(dāng) TCP 收到發(fā)自 TCP 連接另一端的數(shù)據(jù)抛寝,它將發(fā)送一個(gè)確認(rèn)熊杨。這個(gè)確認(rèn)不是立即發(fā)送,通常將推遲幾分之一秒盗舰;
  • 超時(shí)重發(fā):當(dāng) TCP 發(fā)出一個(gè)段后晶府,它啟動(dòng)一個(gè)定時(shí)器,等待目的端確認(rèn)收到這個(gè)報(bào)文段钻趋。如果不能及時(shí)收到一個(gè)確認(rèn)川陆,將重發(fā)這個(gè)報(bào)文段;
  • 流量控制:TCP 連接的每一方都有固定大小的緩沖空間蛮位。TCP 的接收端只允許另一端發(fā)送接收端緩沖區(qū)所能接納的數(shù)據(jù)较沪,這可以防止較快主機(jī)致使較慢主機(jī)的緩沖區(qū)溢出,這就是流量控制失仁。TCP 使用的流量控制協(xié)議是可變大小的滑動(dòng)窗口協(xié)議尸曼。

參考鏈接 計(jì)算機(jī)網(wǎng)絡(luò)面試問題集錦

查找域名對(duì)應(yīng) IP 地址

這一步包括 DNS 具體的查找過程,包括:瀏覽器緩存->系統(tǒng)緩存->路由器緩存...

  • 瀏覽器搜索自己的 DNS 緩存(維護(hù)一張域名與 IP 地址的對(duì)應(yīng)表)萄焦;
  • 搜索操作系統(tǒng)中的 DNS 緩存(維護(hù)一張域名與 IP 地址的對(duì)應(yīng)表)控轿;
  • 搜索操作系統(tǒng)的 hosts 文件( Windows 環(huán)境下,維護(hù)一張域名與 IP 地址的對(duì)應(yīng)表)楷扬;
  • 操作系統(tǒng)將域名發(fā)送至 LDNS(本地區(qū)域名服務(wù)器)解幽,LDNS 查詢 自己的 DNS 緩存(一般查找成功率在 80% 左右),查找成功則返回結(jié)果烘苹,失敗則發(fā)起一個(gè)迭代 DNS 解析請(qǐng)求:
    • LDNS 向 Root Name Server (根域名服務(wù)器躲株,如 com、net镣衡、org 等的解析的頂級(jí)域名服務(wù)器的地址)發(fā)起請(qǐng)求霜定,此處档悠,Root Name Server 返回 com 域的頂級(jí)域名服務(wù)器的地址;
    • LDNS 向 com 域的頂級(jí)域名服務(wù)器發(fā)起請(qǐng)求望浩,返回 baidu.com 域名服務(wù)器地址辖所;
    • LDNS 向 baidu.com 域名服務(wù)器發(fā)起請(qǐng)求,得到 www.baidu.com 的 IP 地址磨德;
  • LDNS 將得到的 IP 地址返回給操作系統(tǒng)缘回,同時(shí)自己也將 IP 地址緩存起來懂扼;
  • 操作系統(tǒng)將 IP 地址返回給瀏覽器显拳,同時(shí)自己也將 IP 地址緩存起來对湃;

從輸入 URL 到頁(yè)面加載發(fā)生了什么【必考】

總體來說分為以下幾個(gè)過程:

  • DNS 解析
  • TCP 連接
  • 發(fā)送 HTTP 請(qǐng)求
  • 服務(wù)器處理請(qǐng)求并返回 HTTP 報(bào)文
  • 瀏覽器解析渲染頁(yè)面
  • 連接結(jié)束

這道題的區(qū)分度很高建議大家仔細(xì)查看下面這篇文章從輸入 URL 到頁(yè)面加載發(fā)生了什么

HTTP 的幾種請(qǐng)求方法用途

  • GET 方法:發(fā)送一個(gè)請(qǐng)求來取得服務(wù)器上的某一資源
  • POST 方法:向 URL 指定的資源提交數(shù)據(jù)或附加新的數(shù)據(jù)
  • PUT 方法:跟 POST 方法很像奈偏,也是想服務(wù)器提交數(shù)據(jù)邑退。但是楣号,它們之間有不同庐橙。PUT 指定了資源在服務(wù)器上的位置鳞上,而 POST 沒有
  • HEAD 方法:只請(qǐng)求頁(yè)面的首部
  • DELETE 方法:刪除服務(wù)器上的某資源
  • OPTIONS 方法:它用于獲取當(dāng)前 URL 所支持的方法琳水。如果請(qǐng)求成功肆糕,會(huì)有一個(gè) Allow 的頭包含類似“GET,POST”這樣的信息
  • TRACE 方法:TRACE 方法被用于激發(fā)一個(gè)遠(yuǎn)程的,應(yīng)用層的請(qǐng)求消息回路
  • CONNECT 方法:把請(qǐng)求連接轉(zhuǎn)換到透明的 TCP/IP 通道

127.0.0.1 與 192.168.0.1 有什么區(qū)別【可能考】

首先明確二者沒有區(qū)別在孝!兩個(gè) IP 地址的角度不一樣诚啃,127.0.0.1 是從 IETF(因特爾工程任務(wù)組)規(guī)定看,是保留給本機(jī)使用的 IP 地址浑玛,所有的計(jì)算機(jī)默認(rèn)都是相同的绍申。而 192.168.0.1 其實(shí)只是 IETF 在 c 類網(wǎng)址中,專門留出給專用網(wǎng)絡(luò)用的一個(gè)網(wǎng)段中的一個(gè) IP 而已顾彰,該網(wǎng)段包含了 192.168.0.1 到 192.168.255.255 中所有的 IP 地址极阅。

五類 ip 地址的范圍

IP 地址分為 A,B,C,D,E 五類。

網(wǎng)絡(luò)號(hào):用于識(shí)別主機(jī)所在的網(wǎng)絡(luò)涨享;
主機(jī)號(hào):用于識(shí)別該網(wǎng)絡(luò)中的主機(jī)筋搏。

其中 A 類分配給政府機(jī)關(guān)使用,B 類地址給大中型企業(yè)使用厕隧,C 類地址給個(gè)人使用奔脐。這三種是主要的。

IP 地址分為五類吁讨,A 類保留給政府機(jī)構(gòu)髓迎,B 類分配給中等規(guī)模的公司,C 類分配給任何需要的人排龄,D 類用于組播,E 類用于實(shí)驗(yàn)翎朱,各類可容納的地址數(shù)目不同橄维。

其中 A 類、B 類凛忿、和 C 類這三類地址用于 TCP/IP 節(jié)點(diǎn),其它兩類 D 類和 E 類被用于特殊用途竞川。
A店溢、B、C 三類 IP 地址的特征:當(dāng)將 IP 地址寫成二進(jìn)制形式時(shí)流译,A 類地址的第一位總是 O逞怨,B 類地址的前兩位總是 10,C 類地址的前三位總是 110福澡。

A 類地址

  • ⑴ A 類地址第 1 字節(jié)為網(wǎng)絡(luò)地址,其它 3 個(gè)字節(jié)為主機(jī)地址驹马。
  • ⑵ A 類地址范圍:1.0.0.1—126.155.255.254
  • ⑶ A 類地址中的私有地址和保留地址:
    • ① 10.X.X.X 是私有地址(所謂的私有地址就是在互聯(lián)網(wǎng)上不使用革砸,而被用在局域網(wǎng)絡(luò)中的地址)。
    • ② 127.X.X.X 是保留地址糯累,用做循環(huán)測(cè)試用的算利。

B 類地址

  • ⑴ B 類地址第 1 字節(jié)和第 2 字節(jié)為網(wǎng)絡(luò)地址,其它 2 個(gè)字節(jié)為主機(jī)地址泳姐。
  • ⑵ B 類地址范圍:128.0.0.1—191.255.255.254效拭。
  • ⑶ B 類地址的私有地址和保留地址
    • ① 172.16.0.0—172.31.255.255 是私有地址
    • ② 169.254.X.X 是保留地址。如果你的 IP 地址是自動(dòng)獲取 IP 地址胖秒,而你在網(wǎng)絡(luò)上又沒有找到可用的 DHCP 服務(wù)器缎患。就會(huì)得到其中一個(gè) IP。

C 類地址

  • ⑴ C 類地址第 1 字節(jié)阎肝、第 2 字節(jié)和第 3 個(gè)字節(jié)為網(wǎng)絡(luò)地址挤渔,第 4 個(gè)個(gè)字節(jié)為主機(jī)地址。另外第 1 個(gè)字節(jié)的前三位固定為 110风题。
  • ⑵ C 類地址范圍:192.0.0.1—223.255.255.254判导。
  • ⑶ C 類地址中的私有地址:
    • 192.168.X.X 是私有地址。

D 類地址

  • ⑴ D 類地址不分網(wǎng)絡(luò)地址和主機(jī)地址沛硅,它的第 1 個(gè)字節(jié)的前四位固定為 1110眼刃。
  • ⑵ D 類地址范圍:224.0.0.1—239.255.255.254

E 類地址

  • ⑴ E 類地址也不分網(wǎng)絡(luò)地址和主機(jī)地址,它的第 1 個(gè)字節(jié)的前五位固定為 11110摇肌。
  • ⑵ E 類地址范圍:240.0.0.1—255.255.255.254

HTTP 長(zhǎng)連接擂红、短連接

在 HTTP/1.0 中默認(rèn)使用短連接。也就是說朦蕴,客戶端和服務(wù)器每進(jìn)行一次 HTTP 操作篮条,就建立一次連接弟头,任務(wù)結(jié)束就中斷連接。當(dāng)客戶端瀏覽器訪問的某個(gè) HTML 或其他類型的 Web 頁(yè)中包含有其他的 Web 資源(如 JavaScript 文件涉茧、圖像文件赴恨、CSS 文件等),每遇到這樣一個(gè) Web 資源伴栓,瀏覽器就會(huì)重新建立一個(gè) HTTP 會(huì)話伦连。

而從 HTTP/1.1 起,默認(rèn)使用長(zhǎng)連接钳垮,用以保持連接特性惑淳。使用長(zhǎng)連接的 HTTP 協(xié)議,會(huì)在響應(yīng)頭加入這行代碼:

Connection:keep-alive

在使用長(zhǎng)連接的情況下饺窿,當(dāng)一個(gè)網(wǎng)頁(yè)打開完成后歧焦,客戶端和服務(wù)器之間用于傳輸 HTTP 數(shù)據(jù)的 TCP 連接不會(huì)關(guān)閉,客戶端再次訪問這個(gè)服務(wù)器時(shí)肚医,會(huì)繼續(xù)使用這一條已經(jīng)建立的連接绢馍。Keep-Alive 不會(huì)永久保持連接,它有一個(gè)保持時(shí)間肠套,可以在不同的服務(wù)器軟件(如 Apache)中設(shè)定這個(gè)時(shí)間舰涌。實(shí)現(xiàn)長(zhǎng)連接需要客戶端和服務(wù)端都支持長(zhǎng)連接。

HTTP 協(xié)議的長(zhǎng)連接和短連接你稚,實(shí)質(zhì)上是 TCP 協(xié)議的長(zhǎng)連接和短連接瓷耙。

HTTP 長(zhǎng)連接、短連接究竟是什么刁赖?

如何理解 HTTP 協(xié)議是無狀態(tài)的【掣橥矗考】

HTTP 協(xié)議是無狀態(tài)的,指的是協(xié)議對(duì)于事務(wù)處理沒有記憶能力乾闰,服務(wù)器不知道客戶端是什么狀態(tài)落追。也就是說,打開一個(gè)服務(wù)器上的網(wǎng)頁(yè)和上一次打開這個(gè)服務(wù)器上的網(wǎng)頁(yè)之間沒有任何聯(lián)系涯肩。HTTP 是一個(gè)無狀態(tài)的面向連接的協(xié)議轿钠,無狀態(tài)不代表 HTTP 不能保持 TCP 連接,更不能代表 HTTP 使用的是 UDP 協(xié)議(無連接)病苗。

各種協(xié)議與 HTTP 協(xié)議之間的關(guān)系

一般面試官會(huì)通過這樣的問題來考察你對(duì)計(jì)算機(jī)網(wǎng)絡(luò)知識(shí)體系的理解疗垛。
[圖片上傳失敗...(image-87da7-1555410332682)]

Socket 連接與 HTTP 連接的聯(lián)系與區(qū)別(需了解)

由于通常情況下 Socket 連接就是 TCP 連接,因此 Socket 連接一旦建立硫朦,通信雙方即可開始相互發(fā)送數(shù)據(jù)內(nèi)容贷腕,直到雙方連接斷開。但在實(shí)際網(wǎng)絡(luò)應(yīng)用中,客戶端到服務(wù)器之間的通信往往需要穿越多個(gè)中間節(jié)點(diǎn)泽裳,例如路由器瞒斩、網(wǎng)關(guān)、防火墻等涮总,大部分防火墻默認(rèn)會(huì)關(guān)閉長(zhǎng)時(shí)間處于非活躍狀態(tài)的連接而導(dǎo)致 Socket 連接斷連胸囱,因此需要通過輪詢告訴網(wǎng)絡(luò),該連接處于活躍狀態(tài)瀑梗。

而 HTTP 連接使用的是“請(qǐng)求—響應(yīng)”的方式烹笔,不僅在請(qǐng)求時(shí)需要先建立連接,而且需要客戶端向服務(wù)器發(fā)出請(qǐng)求后抛丽,服務(wù)器端才能回復(fù)數(shù)據(jù)谤职。

很多情況下,需要服務(wù)器端主動(dòng)向客戶端推送數(shù)據(jù)亿鲜,保持客戶端與服務(wù)器數(shù)據(jù)的實(shí)時(shí)與同步允蜈。此時(shí)若雙方建立的是 Socket 連接,服務(wù)器就可以直接將數(shù)據(jù)傳送給客戶端;若雙方建立的是 HTTP 連接狡门,則服務(wù)器需要等到客戶端發(fā)送一次請(qǐng)求后才能將數(shù)據(jù)傳回給客戶端陷寝,因此,客戶端定時(shí)向服務(wù)器端發(fā)送連接請(qǐng)求其馏,不僅可以保持在線,同時(shí)也是在“詢問”服務(wù)器是否有新的數(shù)據(jù)爆安,如果有就將數(shù)據(jù)傳給客戶端叛复。

http 報(bào)文大小限制

如前所述,一個(gè) HTTP 報(bào)文包含起始行扔仓,頭域和消息體褐奥,HTTP 協(xié)議本身并沒有對(duì)報(bào)文中任一部分的長(zhǎng)度做限制,也就是說翘簇,理論上一個(gè)請(qǐng)求 URI 可以無限長(zhǎng)撬码,頭域可以無限多,請(qǐng)求體可以無限大版保。但在實(shí)際場(chǎng)景下呜笑,請(qǐng)求 URI 的長(zhǎng)度會(huì)受到瀏覽器的限制,如果在瀏覽器中輸入過長(zhǎng)的 URL彻犁,那么瀏覽器會(huì)自動(dòng)進(jìn)行截?cái)嘟行病6?wù)器出于安全性和效率的考慮,也會(huì)對(duì)頭域和消息體的大小作出一定的限制汞幢。

http(tcp) 報(bào)文結(jié)構(gòu)(必考)

例如一個(gè) 100kb 的 HTML 文檔需要傳送到另外一臺(tái)計(jì)算機(jī)驼鹅,并不會(huì)整個(gè)文檔直接傳送過去,可能會(huì)切割成幾個(gè)部分,比如四個(gè)分別為 25kb 的數(shù)據(jù)段输钩。而每個(gè)數(shù)據(jù)段再加上一個(gè) TCP 首部豺型,就組成了 TCP 報(bào)文。
TCP 報(bào)文 (Segment)买乃,包括首部和數(shù)據(jù)部分姻氨。
[圖片上傳失敗...(image-a67a3-1555410332682)]

首部:

  • 源端口 source port
  • 目的端口 destination port
  • 序號(hào) sequence number
  • 確認(rèn)號(hào) acknowledgment number
  • 數(shù)據(jù)偏移 offset
  • 保留 reserved
  • 標(biāo)志位 tcp flags
  • 窗口大小 window size
  • 檢驗(yàn)和 checksum
  • 緊急指針 urgent pointer
  • 選項(xiàng) tcp options

HTTP 的緩存機(jī)制(常考)

Http 的緩存主要利用 header 里的兩個(gè)字段來控制:

  • Cache-control主要包含以及幾個(gè)字段:
    • private:則只有客戶端可以緩存
    • public:客戶端和代理服務(wù)器都可以緩存
    • max-age:緩存的過期時(shí)間
    • no-cache:需要使用對(duì)比緩存來驗(yàn)證緩存數(shù)據(jù)
    • no-store:所有內(nèi)存都不會(huì)進(jìn)行緩存
  • ETag:即用來進(jìn)行對(duì)比緩存为牍,Etag 是服務(wù)端資源的一個(gè)標(biāo)識(shí)碼
    • 當(dāng)客戶端發(fā)送第一次請(qǐng)求時(shí)服務(wù)端會(huì)下發(fā)當(dāng)前請(qǐng)求資源的標(biāo)識(shí)碼 Etag哼绑,下次再請(qǐng)求時(shí),客戶端則會(huì)通過 header 里的 If-None-Match 將這個(gè)標(biāo)識(shí)碼 Etag 帶上碉咆,服務(wù)端將客戶端傳來的 Etag 與最新的資源 Etag 做對(duì)比抖韩,如果一樣,則表示資源沒有更新疫铜,返回 304茂浮。

通過 Cache-control 和 Etag 的配合來實(shí)現(xiàn) Http 的緩存機(jī)制。

Cookie

Cookie 就是用來在本地緩存記住一些狀態(tài)的壳咕,一個(gè) Cookie 一般都包含 domin(所屬域)席揽、path、Expires(過期時(shí)間)等幾個(gè)屬性谓厘。服務(wù)端可以通過在響應(yīng)頭里的 set-cookies 來將狀態(tài)寫入客戶端的 Cookie 里幌羞。下次客戶端發(fā)起請(qǐng)求時(shí)可以將 Co

Http 2.0 與 http1.x 相比有什么優(yōu)點(diǎn)(常考)

  • 二進(jìn)制格式:http1.x 是文本協(xié)議竟稳,而 http2.0 是二進(jìn)制以幀為基本單位属桦,是一個(gè)二進(jìn)制協(xié)議,一幀中除了包含數(shù)據(jù)外同時(shí)還包含該幀的標(biāo)識(shí):Stream Identifier他爸,即標(biāo)識(shí)了該幀屬于哪個(gè) request,使得網(wǎng)絡(luò)傳輸變得十分靈活聂宾。
  • 多路復(fù)用: 一個(gè)很大的改進(jìn),原先 http1.x 一個(gè)連接一個(gè)請(qǐng)求的情況有比較大的局限性诊笤,也引發(fā)了很多問題系谐,如建立多個(gè)連接的消耗以及效率問題。
    • http1.x 為了解決效率問題讨跟,可能會(huì)盡量多的發(fā)起并發(fā)的請(qǐng)求去加載資源纪他,然而瀏覽器對(duì)于同一域名下的并發(fā)請(qǐng)求有限制,而優(yōu)化的手段一般是將請(qǐng)求的資源放到不同的域名下來突破這種限制许赃。
    • 而 http2.0 支持的多路復(fù)用可以很好的解決這個(gè)問題止喷,多個(gè)請(qǐng)求共用一個(gè) TCP 連接,多個(gè)請(qǐng)求可以同時(shí)在這個(gè) TCP 連接上并發(fā)混聊,一個(gè)是解決了建立多個(gè) TCP 連接的消耗問題弹谁,一個(gè)也解決了效率的問題乾巧。那么是什么原理支撐多個(gè)請(qǐng)求可以在一個(gè) TCP 連接上并發(fā)呢?基本原理就是上面的二進(jìn)制分幀预愤,因?yàn)槊恳粠加幸粋€(gè)身份標(biāo)識(shí)沟于,所以多個(gè)請(qǐng)求的不同幀可以并發(fā)的無序發(fā)送出去,在服務(wù)端會(huì)根據(jù)每一幀的身份標(biāo)識(shí)植康,將其整理到對(duì)應(yīng)的 request 中旷太。
  • header 頭部壓縮:主要是通過壓縮 header 來減少請(qǐng)求的大小,減少流量消耗销睁,提高效率供璧。因?yàn)橹按嬖谝粋€(gè)問題是,每次請(qǐng)求都要帶上 header冻记,而這個(gè) header 中的數(shù)據(jù)通常是一層不變的睡毒。
  • 支持服務(wù)端推送

流量控制

流量控制是對(duì)一條通信路徑上的流量進(jìn)行控制,就是發(fā)送方通過獲取接收方的回饋來動(dòng)態(tài)調(diào)整發(fā)送的速率冗栗,來達(dá)到控制流量的效果演顾,其目的是保證發(fā)送者的發(fā)送速度不超過接收者的接收速度。

擁塞控制

擁塞控制是對(duì)整個(gè)通信子網(wǎng)的流量進(jìn)行控制隅居,屬于全局控制钠至。

  1. 慢開始+擁塞避免 先來看一張經(jīng)典的圖:
    [圖片上傳失敗...(image-3d5548-1555410332682)]
    一開始使用慢啟動(dòng),即擁塞窗口設(shè)為 1胎源,然后擁塞窗口指數(shù)增長(zhǎng)到慢開始的門限值(ssthresh=16),則切換為擁塞避免,即加法增長(zhǎng)棉钧,這樣增長(zhǎng)到一定程度,導(dǎo)致網(wǎng)絡(luò)擁塞涕蚤,則此時(shí)會(huì)把擁塞窗口重新降為 1掰盘,即重新慢開始,同時(shí)調(diào)整新的慢開始門限值為 12赞季,之后以此類推。

  2. 快重傳+快恢復(fù)

  • 快重傳:上面我們說的重傳機(jī)制都是等到超時(shí)還未收到接收方的回復(fù)奢驯,才開始進(jìn)行重傳申钩。而快重傳的設(shè)計(jì)思路是:如果發(fā)送方收到 3 個(gè)重復(fù)的接收方的 ACK,就可以判斷有報(bào)文段丟失瘪阁,此時(shí)就可以立即重傳丟失的報(bào)文段撒遣,而不用等到設(shè)置的超時(shí)時(shí)間到了才開始重傳,提高了重傳的效率管跺。
  • 快恢復(fù):上面的擁塞控制會(huì)在網(wǎng)絡(luò)擁塞時(shí)將擁塞窗口降為 1义黎,重新慢開始,這樣存在的一個(gè)問題就是網(wǎng)絡(luò)無法很快恢復(fù)到正常狀態(tài)豁跑×椋快恢復(fù)就是來優(yōu)化這個(gè)問題的,使用快恢復(fù),則出現(xiàn)擁塞時(shí)狐蜕,擁塞窗口只會(huì)降低到新的慢開始門閥值(即 12)宠纯,而不會(huì)降為 1,然后直接開始進(jìn)入擁塞避免加法增長(zhǎng)层释,如下圖所示:
    [圖片上傳失敗...(image-da7063-1555410332682)]

感謝:Android 網(wǎng)絡(luò)系列(一):關(guān)于計(jì)算機(jī)網(wǎng)絡(luò)的一些基礎(chǔ) -
舒大飛

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末婆瓜,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子贡羔,更是在濱河造成了極大的恐慌廉白,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件乖寒,死亡現(xiàn)場(chǎng)離奇詭異猴蹂,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)宵统,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門晕讲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人马澈,你說我怎么就攤上這事瓢省。” “怎么了痊班?”我有些...
    開封第一講書人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵勤婚,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我涤伐,道長(zhǎng)馒胆,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任凝果,我火速辦了婚禮祝迂,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘器净。我一直安慰自己型雳,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開白布山害。 她就那樣靜靜地躺著纠俭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪浪慌。 梳的紋絲不亂的頭發(fā)上冤荆,一...
    開封第一講書人閱讀 51,190評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音权纤,去河邊找鬼钓简。 笑死乌妒,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的涌庭。 我是一名探鬼主播芥被,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼坐榆!你這毒婦竟也來了拴魄?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤席镀,失蹤者是張志新(化名)和其女友劉穎匹中,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體豪诲,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡顶捷,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了屎篱。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片服赎。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖交播,靈堂內(nèi)的尸體忽然破棺而出重虑,到底是詐尸還是另有隱情,我是刑警寧澤秦士,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布缺厉,位于F島的核電站,受9級(jí)特大地震影響隧土,放射性物質(zhì)發(fā)生泄漏提针。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一曹傀、第九天 我趴在偏房一處隱蔽的房頂上張望辐脖。 院中可真熱鬧,春花似錦皆愉、人聲如沸揖曾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至练链,卻和暖如春翔脱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背媒鼓。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工届吁, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留错妖,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓疚沐,卻偏偏與公主長(zhǎng)得像暂氯,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子亮蛔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1. 基礎(chǔ)知識(shí) 1.1 3種常見的計(jì)算機(jī)體系結(jié)構(gòu)劃分 OSI分層(7層):物理層痴施、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層究流、傳輸層辣吃、會(huì)話...
    Mr希靈閱讀 19,873評(píng)論 6 120
  • 個(gè)人認(rèn)為,Goodboy1881先生的TCP /IP 協(xié)議詳解學(xué)習(xí)博客系列博客是一部非常精彩的學(xué)習(xí)筆記芬探,這雖然只是...
    貳零壹柒_fc10閱讀 5,054評(píng)論 0 8
  • 1.TCP報(bào)頭格式 UDP報(bào)頭格式 TCP報(bào)頭格式 UDP報(bào)頭格式 具體的各部分解釋看 TCP報(bào)文格式詳解 - ...
    杰倫哎呦哎呦閱讀 2,454評(píng)論 0 5
  • 博主最近在復(fù)習(xí)HTTP神得,之前用書主要是《計(jì)算機(jī)網(wǎng)絡(luò)》謝希仁版本,最近結(jié)合網(wǎng)上博客偷仿,進(jìn)行復(fù)習(xí)和提綱式的總結(jié)哩簿。 一、概...
    stoneyang94閱讀 4,146評(píng)論 1 8
  • 今天有點(diǎn)點(diǎn)喪酝静,感覺班課太鬧了节榜,課沒有上好,晚上想買冰激凌形入,找了一圈都沒有找到冰激凌店全跨。 不過幸運(yùn)的事也有 1. 學(xué)...
    Jane的簡(jiǎn)單生活閱讀 66評(píng)論 0 0