【測試開發面試復習(一)】計算機網絡:應用層詳解(P2)補充ing

復習自用,若有錯漏,歡迎一起交流一下~~

一、高頻面試題記錄

uri 和 url 的區別 ?
dns 是啥工作原理,主要解析過程是啥?
用戶輸入網址到顯示對應頁面的全過程是啥?
http 頭部包含哪些信息?
http 方法了解哪些?
http 狀態碼了解哪些?
get 和 post 的區別?
https 和 https 的區別?
https 的加密方式?
http 是不保存狀態的協議,如何保存用戶狀態?
http 不同版本的區別?
用戶輸入網址到最后看到返回,經歷了什么

二、web(萬維網)和域名

萬維網:www = world wide web,我們一般稱之為web。
是一種信息系統,使文檔和其他web資源能夠通過Internet訪問。
網絡上的資源必須有唯一標識,才可以在網絡上被訪問。

2.1 URI、URL、URM

uri(uniform resource identifier) 統一資源標識符。
url(uniform resource location) 統一資源定位符,統指絕對路徑。【用的最多】
urn(uniform resource name) 統一資源名。【未大范圍使用】

URL由三部分組成:
*注意:URL是否以/結尾,意義不同,服務器自動處理了差異所以用戶一般無感知
【訪問資源使用的協議類型(如http://)】【服務器的web地址,可以是域名(如nihao) 或 IP地址+端口號(localhost:8080),不添加默認為 80 ,這是訪問域名不用加端口號的原因 】【web服務器上的某個資源(如abc/read)】
http://nihao.com/abc/read

2.2 常見應用程序體系架構

  • C/S((client/server):客戶端向服務端發送和請求數據,服務器要一直開機,主要應用在大型互聯網
    如:魔獸世界端游(C/S)、Google(B/S)、也有既可以又可以的應用哦~比如outlook;
  • P2P(peer to
    peer):對等通信,不需要數據中心,應用程序在間斷連接的主機對之間直接通信。主要應用在流量密集型應用。比如:迅雷,bitTorrent,或者在局域網的文件內部共享應用中。

2.3 web

web不僅僅有client和server的簡單請求響應,還包含特殊的server

  • 代理:位于客戶端和服務端之間,可轉發web流量,可以對請求和響應進行過濾。(比如用于校園網,過濾不良內容);
  • 網關:鏈接其他應用程序的特殊web服務器,常用于將http流量轉化為其他協議,客戶端對此無感知。
  • 隧道:
  • DNS(域名):支持中文字符,結構是xxx.xxx.xxx,分層樹狀結構:二級域名(csdn)+頂級域名(cn-中國、edu-教育組織、com-商業or公司實體、net-網絡)

三、DNS

3.1 DNS原理

*客戶端 A 向本地域名服務器查詢為遞歸查詢,本地域名服務器向根域名服務器查詢為迭代查詢。
在這里插入圖片描述
客戶端A-查詢本地hosts文件(沒有映射關系下一步)-查找本次DNS解析緩存(沒有下一步)-根據tcp/ip參數查找設置好的首選DNS服務器IP地址(本次dns服務器,沒有下一步)-本地dns訪問根服務器,根據后綴名查找定級域名服務器的ip,以此向下查找域名服務器IP,查找網址映射關系,直到找到為止。

3.2 DNS數據傳輸

  • dns既采用UDP協議,也采用tcp協議;
  • dns通過53端口進行通信,默認采用udp協議進行數據傳輸(或者說大多數情況);
  • 當返回的響應超過512字節,會使用tcp傳輸(udp最大只支持512字節的數據);
  • 當主域名服務器向輔助域名服務器傳送變化的那部分數據(區域傳送),會使用tcp傳輸;
  • 注意: tcp 協議和 udp 協議是可以同時綁定同一個端口的。
  • 區域傳輸: dns 服務器中數據不總是一成不變的,域名數量是不斷增加,而且一些域名對應著的服務器的也是在變化的,所以其實 dns服務器中的數據是不斷增加的,并且隨時流動的,所以可以將區域傳輸簡單理解為 dns 服務器之間進行的數據傳輸。

3.3 DNS域名服務器

  • 根域名服務器:最高層次的域名服務器,所有的根域名服務器都知道所有的頂級域名服務器的ip地址,全球有 13 個根域名服務器。
  • 頂級域名服務器:負責處理所有頂級域名,提供到權威域服務器的映射。
  • 授權(權威)域名服務器:提供主機名到 IP 地址間的映射服務
  • 主域名服務器:一個或多個區域域名解析工作的主要域名服務器,通常也是一個或多個區域的授權域名服務器。
  • 輔助域名服務器:協助主域名服務器提供域名查詢服務,在主機很多的情況下,可以有效分擔主域名服務器的壓力。當主域名服務器故障時,輔助域名服務器能夠在數據有效期內繼續為主機提供域名解析服務。

3.4 網頁解析全過程(重要)

用戶輸入網址(瀏覽器獲得一個域名)-DNS解析(通過dns服務器將域名解析為IP地址)-TCP連接(向web服務器發起tcp連接請求)-發送http請求(在建立起的tcp連接中,按照http協議標準發送一個索要網頁的請求)-處理請求并返回(服務器獲取到請求后,根據請求內容來決定如何獲取對應文件,并將文件發送給瀏覽器)-瀏覽器渲染(先解析HTML文件,構建DOM樹,然后解析CSS文件,構建渲染樹,構建完成后,瀏覽器開始布局渲染樹并將其繪制到屏幕)-TCP斷開(客戶端和服務器斷開連接)

四、http

4.1 xxx?

五、socket

5.1 XXX?

六、其他

6.1 XXX?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/713160.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/713160.shtml
英文地址,請注明出處:http://en.pswp.cn/news/713160.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

IEEE Trans. On Robotics ?“受護理人員啟發的雙臂機器人穿衣”研究工作

開發能夠協助穿衣的輔助機器人,可以極大地改善老年人和殘疾人的生活。然而,大多數機器人穿衣策略只考慮使用單個機器人,這大大限制了穿衣輔助的性能。事實上,專業護理人員是通過雙臂來完成這項任務的。受其啟發,我們提…

【YOLO v5 v7 v8 小目標改進】Non-local 注意力實現非局部神經網絡,解決長空間和時間數據依賴問題

Non-local 注意力實現非局部神經網絡,解決長空間和時間數據依賴問題 提出背景長距離技術對比Non-local Block是怎么設計Non-local 神經網絡效果 小目標漲點YOLO v5 魔改YOLO v7 魔改YOLO v8 魔改 提出背景 論文:https://arxiv.org/pdf/1711.07971.pdf …

用 tensor-parallel 多卡并發推理大模型

利用 tensor-parallel 把模型訓練與推理的 workload 平均分布到多塊 GPU,一方面可以提高推理速度,另一方面 vram 的負載平衡也讓復雜的 prompt 能被輕松處理。 import 相關的 libs: # torch version 2.0.0 import torch # tensor-parallel …

抽象類與抽象方法

文章目錄 抽象類抽象類的特點 抽象方法抽象方法的特點 模板設計模式模板設計模式能解決的問題示例 #抽象類與抽象方法 抽象類 用abstract關鍵字來修飾一個類時,這個類就叫抽象類。 public abstract 類名{... }抽象類的特點 1)抽象類不能被實例化。 2&…

AOP(黑馬學習筆記)

AOP基礎 學習完spring的事務管理之后,接下來我們進入到AOP的學習。 AOP也是spring框架的第二大核心,我們先來學習AOP的基礎。 在AOP基礎這個階段,我們首先介紹一下什么是AOP,再通過一個快速入門程序,讓大家快速體驗A…

JAVASE初認識

1.初認識其結構 1.源文件(擴展名為*.java):源文件帶有類的定義。類用來表示程序的一個組件,小程序或許只會有一個類。類的內容必須包含在花括號里面。 2.類:類中帶有一個或多個方法。方法必須在類的內部聲明。 3.方法&#xff1…

vue3創建h5 項目使用rem做響應式的配置

第一步 安裝依賴: npm install amfe-flexible -S npm install postcss-px2rem -S第二步 main.ts文件中導入 import "amfe-flexible/index.js";第三步 進行配置: vue3 項目中創建 postcss.cinfig.js文件,這里是基于設計稿是750px…

gRPC知識歸檔

文章目錄 gRPC知識歸檔gRPC原理什么是gRPCgRPC的特性gRPC支持語言gRPC使用場景gRPC設計的動機和原則 數據封裝和數據傳輸問題網絡傳輸中的內容封裝和數據體積問題JSONProtobuf(微服務之間的服務器調用,一般采用二進制序列化,比如protobuf&…

精讀《React Hooks 最佳實踐》

簡介 React 16.8 于 2019.2 正式發布,這是一個能提升代碼質量和開發效率的特性,筆者就拋磚引玉先列出一些實踐點,希望得到大家進一步討論。 然而需要理解的是,沒有一個完美的最佳實踐規范,對一個高效團隊來說&#x…

【airtest】自動化入門教程(二)airtest操作

目錄 一、touch 二、wait 三、swipe 四、exists 五、text 六、keyevent 七、snapshot 八、sleep 九、斷言 9.1 assert_exists 9.2 assert_not_exists 9.3 assert_equal 9.4 assert_not_equal 前言:本文主要針對aritest部分的基礎操作,aritest是一個跨平…

網絡編程第二天

1.基于TCP的通信(面向連接的通信) 服務器代碼實現&#xff1a; #include <myhead.h> #define IP "192.168.126.91" #define PORT 9999 int main(int argc, const char *argv[]) {//1、創建套接字int sfd-1;if((sfdsocket(AF_INET,SOCK_STREAM,0))-1){perror(…

LeetCode 76 最小覆蓋字串

LeetCode 76 最小覆蓋字串 在本篇博客中&#xff0c;我們將探討LeetCode上的一道算法題目——“最小覆蓋子串”。這道題的主要目標是找到字符串s中包含字符串t中所有字符的最小子串。 問題描述 給定字符串s和t&#xff0c;要求在字符串s中找到一個最小的子串&#xff0c;使得…

5.36 BCC工具之ucalls.py解讀

一,工具簡介 ucalls工具總結了包括Java、Perl、PHP、Python、Ruby、Tcl和Linux系統調用在內的各種高級語言中的方法調用。它顯示最常調用方法的統計信息,以及這些方法的延遲(持續時間)。 通過系統調用支持,ucalls可以提供關于進程與系統交互的基本信息,包括系統調用計數…

ES系列之Logstash實戰入門

概述 作為ELK技術棧一員&#xff0c;Logstash用于將數據采集到ES&#xff0c;通過簡單配置就能把各種外部數據采集到索引中進行保存&#xff0c;可提高數據采集的效率。 原理 數據源提供的數據進入Logstash的管道后需要經過3個階段&#xff1a; input&#xff1a;負責抽取數…

C#單向鏈表實現:在當前節點后插入新數據的方法Insert()

目錄 一、涉及到的知識點 1.插入算法 2.示例中current 和 _current 的作用 3.current 和 _current 能否合并為一個變量 4.單向鏈表節點類的三個屬性 &#xff08;1&#xff09;Next屬性&#xff1a; &#xff08;2&#xff09; Value屬性&#xff1a; &#xff08;3&am…

【ArcPy】批量讀取文件夾excel中XY并轉為點shp

示例展示 代碼 只讀取excel中含有XY字段的文件&#xff0c;并將矢量命名為excel文件名稱。 import os import pandas as pd import arcpy folder_path r"C:\Users\admin\Desktop\excelfile" extension"xlsx" files [file for file in os.listdir(folder…

SpringCloud gateway限流無效,redis版本低的問題

在使用springCloud gateway的限流功能的時候&#xff0c;配置RedisRateLimiter限流無效&#xff0c;后來發現是Redis版本過低導致的問題&#xff0c;實測 Redis版本為3.0.504時限流無效&#xff0c;改用7.0.x版本的Redis后限流生效。查了資料發現很多人都遇見過這個問題&#x…

RedisTemplate 序列化成功,反序列化失敗List, Set, Map失敗

RedisTemplate 序列化成功&#xff0c;反序列化失敗List, Set, Map失敗 異常信息RedisTemplate配置異常原因錯誤代碼示例解決方法 序列化成功&#xff0c;反序列化失敗 異常信息 Caused by: com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Could not resolve ty…

小程序事件處理

事件處理 一個應用僅僅只有界面展示是不夠的&#xff0c;還需要和用戶做交互&#xff0c;例如&#xff1a;響應用戶的點擊、獲取用戶輸入的值等等&#xff0c;在小程序里邊&#xff0c;我們就通過編寫 JS 腳本文件來處理用戶的操作 1. 事件綁定和事件對象 小程序中綁定事件與…

React之組件定義和事件處理

一、組件的分類 在react中&#xff0c;組件分為函數組件和class組件&#xff0c;也就是無狀態組件和有狀態組件。 * 更過時候我們應該區別使用無狀態組件&#xff0c;因為如果有狀態組件會觸發生命周期所對應的一些函數 * 一旦觸發他生命周期的函數&#xff0c;它就會影響當前項…