09http基礎(chǔ)

第一章 用戶訪問流程

01.訪問網(wǎng)站流程:

00. 客戶端  瀏覽器輸入網(wǎng)址信息點擊回車(www.oldboyedu.com)
01. 客戶端  完成域名的解析過程(DNS) 
02. 客戶端  直接訪問相應(yīng)網(wǎng)站服務(wù)器  建立TCP三次握手過程
03. 客戶端  訪問網(wǎng)站服務(wù)器         發(fā)送HTTP請求報文  多次
04. 服務(wù)端  響應(yīng)客戶端請求         回復(fù)HTTP響應(yīng)報文  多次
05. 客戶端  瀏覽器看到網(wǎng)站頁面
06. 客戶端  結(jié)束訪問網(wǎng)站過程       完成TCP四次揮手過程

02.關(guān)鍵名詞:

1.域名
2.DNS域名解析
3.TCP三次握手
4.TCP四次揮手
5.HTTP請求報文
6.HTTP響應(yīng)報文

第二章 DNS域名解析

DNS介紹

DNS,全稱Domain Name System/Serve
它在一個網(wǎng)站運行中起到了至關(guān)重要的作用
它的主要作用是負(fù)責(zé)把網(wǎng)站域名解析為對應(yīng)的IP地址
例如:把www.etiantian.org解析為對應(yīng)的IP地址記錄如1.1.1.1,這個從域名到IP的解析過程稱為A記錄,即Address Record
DNS常用記錄類型主要有

@記錄
A記錄
CNAME記錄

阿里云的DNS解析界面


DNS系統(tǒng)樹狀結(jié)構(gòu)圖

DNS解析流程圖

image.png

使用dig命令追蹤DNS解析過程

安裝dig命令

yum install bind-utils -y

使用dig命令追蹤

[root@m01 ~]# dig +trace www.oldboyedu.com        

; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.1 <<>> +trace www.oldboyedu.com
;; global options: +cmd
.                       5       IN      NS      d.root-servers.net.
.                       5       IN      NS      j.root-servers.net.
.                       5       IN      NS      b.root-servers.net.
.                       5       IN      NS      l.root-servers.net.
.                       5       IN      NS      f.root-servers.net.
.                       5       IN      NS      m.root-servers.net.
.                       5       IN      NS      i.root-servers.net.
.                       5       IN      NS      e.root-servers.net.
.                       5       IN      NS      a.root-servers.net.
.                       5       IN      NS      g.root-servers.net.
.                       5       IN      NS      c.root-servers.net.
.                       5       IN      NS      h.root-servers.net.
.                       5       IN      NS      k.root-servers.net.
;; Received 492 bytes from 10.0.1.2#53(10.0.1.2) in 52 ms

com.                    172800  IN      NS      h.gtld-servers.net.
com.                    172800  IN      NS      i.gtld-servers.net.
com.                    172800  IN      NS      c.gtld-servers.net.
com.                    172800  IN      NS      e.gtld-servers.net.
com.                    172800  IN      NS      j.gtld-servers.net.
com.                    172800  IN      NS      m.gtld-servers.net.
com.                    172800  IN      NS      g.gtld-servers.net.
com.                    172800  IN      NS      f.gtld-servers.net.
com.                    172800  IN      NS      k.gtld-servers.net.
com.                    172800  IN      NS      d.gtld-servers.net.
com.                    172800  IN      NS      a.gtld-servers.net.
com.                    172800  IN      NS      l.gtld-servers.net.
com.                    172800  IN      NS      b.gtld-servers.net.
com.                    86400   IN      DS      30909 8 2 
..............................
oldboyedu.com.          172800  IN      NS      dns9.hichina.com.
oldboyedu.com.          172800  IN      NS      dns10.hichina.com.
..............................
www.oldboyedu.com.      600     IN      A       39.97.3.87
;; Received 62 bytes from 106.11.141.126#53(dns10.hichina.com) in 4 ms

DNS解析流程

第一步:客戶端用戶在瀏覽器里輸入www.baidu.com網(wǎng)址后回車,系統(tǒng)首先會查找系統(tǒng)本地的DNS緩存及host文件信息,確定是否存在www.baidu.com域名對應(yīng)的IP解析記錄,如果有就直接獲取到IP地址,然后去訪問這個IP地址對應(yīng)的www.baidu.com域名的服務(wù)器.一般第一次請求時,DNS緩存是沒有解析記錄的,而hosts多為內(nèi)部臨時測試使用.
第二步:如果客戶端本地DNS緩存及本地hosts文件沒有www.baidu.com域名對應(yīng)的解析記錄,那么,系統(tǒng)會把瀏覽器的解析請求發(fā)送給在客戶端本地設(shè)置的DNS服務(wù)器地址解析,通常稱次DNS為LDNS即local DNS,如果LDNS服務(wù)器的本地緩存存有對應(yīng)的解析記錄就會直接返回給IP地址給客戶端:如果沒有,則LDNS會負(fù)責(zé)繼續(xù)請求其他的DNS服務(wù)器.
第三步:LDNS從DNS系統(tǒng)的(".")根開始請求對www.baidu.com域名的解析,根DNS服務(wù)器在全球一共有13臺,根服務(wù)器下面是沒有www.baidu.com域名解析記錄的,但是根下面有www.baidu.com對應(yīng)的頂級域名.com的解析記錄,因此,根會把.com對應(yīng)的DNS服務(wù)器地址返回給LDNS.
第四步:LDNS獲取到.com對應(yīng)的DNS服務(wù)器地址后,就會去.com服務(wù)器請求www.baidu.com域名的解析,.而com服務(wù)器下面也沒有www.baidu.com域名對應(yīng)的解析記錄,但是有baidu.com域名的解析記錄,因此.com服務(wù)器會把baidu.com對應(yīng)的DNS服務(wù)器地址返回給DNS.
第五步:同理,LDNS獲取到baidu.com對應(yīng)的DNS服務(wù)器地址后,就會去baidu.com服務(wù)器請求對www.baidu.com域名的解析,baidu.com域名對應(yīng)的DNS服務(wù)器是該域名的授權(quán)DNS服務(wù)器,這個DNS服務(wù)器正是企業(yè)購買域名時用于管理解析的服務(wù)器,這個服務(wù)器會有www.baidu.com對應(yīng)的解析記錄,如果此時沒有,就表示企業(yè)還沒有對這個域名做解析,即網(wǎng)站服務(wù)器還沒有架設(shè)好.
第六步:baidu.com域名DNS服務(wù)器會把www.baidu.com對應(yīng)的IP解析記錄發(fā)給LDNS.
第七步:LDNS把來自授權(quán)DNS服務(wù)器的與www.baidu.com對應(yīng)的IP解析記錄發(fā)給客戶端瀏覽器,并且LDNS會在本地把域名和IP對應(yīng)解析記錄緩存起來,以便下一次更快的返回相同解析請求的記錄.至此,整個DNS的解析流程就完成了.

第三章 TCP/IP協(xié)議

OSI七層模型

TCP/IP五層模型

TCP/IP每層包含的協(xié)議

TCP報文格式

image.png

TCP/IP三次握手

TCP/IP四次揮手

第四章 HTTP協(xié)議介紹

URL

全稱為Uniform Resource Location筒扒,中文翻譯為統(tǒng)一資源定位符

URI

全稱為Uniform Resource Identifier,中文翻譯為統(tǒng)一資源標(biāo)識符

URL和URI關(guān)系

docs.ansible.com   / ansible/latest/user_guide/playbooks_reuse_roles.html
URL                  URI 

靜態(tài)資源

特點說明:
1) 網(wǎng)頁內(nèi)容是固定不變的,因此饭冬,容易被搜索引擎收錄(容易被用戶找到)(優(yōu)點)碍遍。
2) 因為網(wǎng)頁沒有數(shù)據(jù)庫的支持亏吝,所以在網(wǎng)站制作和維護(hù)方面的工作量較大咆爽,當(dāng)網(wǎng)站信息量很大時巩踏,
完全依靠靜態(tài)網(wǎng)頁比較困難(缺點)球拦。
3) 網(wǎng)頁的交互性較差靠闭,在程序的功能實現(xiàn)方面有較大的限制(缺點)。
4) 當(dāng)客戶端向服務(wù)器請求數(shù)據(jù)時坎炼,服務(wù)器會直接從磁盤文件系統(tǒng)上返回數(shù)據(jù)(不做任何解析)愧膀。

動態(tài)資源

要什么信息,需要進(jìn)行查詢數(shù)據(jù)庫進(jìn)行解析后發(fā)送給客戶端
查看班級人員信息表

班級   人名   年齡   學(xué)歷
sz-01  張三   18     高中   ---> 數(shù)據(jù)庫中 oldboy=123  <--- post 
sz-01  李四   20     大專   

班級   人員   年齡   學(xué)歷
代碼信息直接調(diào)用數(shù)據(jù)庫的內(nèi)容
1) 采用動態(tài)網(wǎng)頁技術(shù)的網(wǎng)站可以實現(xiàn)更多的功能,如用戶注冊谣光、用戶登錄檩淋、在線調(diào)查、
   投票萄金、用戶管理蟀悦、訂單處理媚朦、發(fā)博文等。
2) 動態(tài)資源頁面會出現(xiàn) "?" "&", 不便于被搜索引擎收錄
3) 接收到用戶請求,需要讓動態(tài)服務(wù)和數(shù)據(jù)庫服務(wù)進(jìn)行處理

偽靜態(tài)資源(動態(tài)頁面)

1. 可以便于搜索引擎進(jìn)行收錄
2. 有數(shù)據(jù)庫服務(wù)支持,實現(xiàn)網(wǎng)頁交互功能

第五章 HTTP請求方法

第六章 HTTP響應(yīng)狀態(tài)碼

響應(yīng)狀態(tài)碼分類

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


使用curl查看狀態(tài)碼

curl -I -s -w "%{http_code}\n" -o /dev/null  www.baidu.com

第七章 HTTP請求報文

請求行

請求頭

空行

請求主體

第八章 HTTP響應(yīng)報文

起始行

響應(yīng)報文的起始行也叫狀態(tài)行,用來說明服務(wù)器相應(yīng)客戶端請求的狀態(tài),一般為協(xié)議及版本號,數(shù)字狀態(tài)碼,狀態(tài)情況,例如:HTTP/1.1 200 OK

響應(yīng)頭部

和請求報文類似,起始行的后面一般有若干個頭部字段,每隔頭部字段都包含一個名字和一個值,兩者之間用冒號分隔.頭部結(jié)尾也是以空行結(jié)束.常見的頭部信息有

空行

響應(yīng)主體

響應(yīng)報文主體裝載了要返回給客戶端的數(shù)據(jù),這些數(shù)據(jù)可以是文本,也可以使二進(jìn)制的圖片視頻,下面是響應(yīng)報文主體的html格式文本

第十章 用戶訪問網(wǎng)站流程總結(jié)

1.用戶輸入域名->瀏覽器跳轉(zhuǎn)->瀏覽器緩存->Hosts 文件->DNS 解析( 遞歸查詢 | 迭代查詢 )
客戶端向服務(wù)端發(fā)起查詢->遞歸查詢
服務(wù)端向服務(wù)端發(fā)起查詢->迭代查詢
2.由瀏覽器向服務(wù)端發(fā)起 TCP 連接(三次握手)
客戶端 -->請求包連接-syn=1 seq=x 服務(wù)端
服務(wù)端 -->向應(yīng)客戶端 syn=1 ack=x+1 seq=y 客戶端
客戶端 -->建立連接 ack=y+1 seq=x+1 服務(wù)端
3.客戶端發(fā)起 http 請求:
1.請求的方法是什么: Get 獲取
2.請求的 Host 主機是: www.oldboyedu.com
3.請求的資源是什么: /index.html
4.請求的端口是什么: 默認(rèn) http 是 80 https 443
5.請求攜帶的參數(shù)是: 屬性(請求的類型日戈、壓縮询张、認(rèn)證、瀏覽器信息涎拉、等等)
6.請求最后的空行
4.服務(wù)端響應(yīng)的內(nèi)容是
1.服務(wù)端響應(yīng)使用的 WEB 服務(wù)軟件
2.服務(wù)端響應(yīng)請求文件的類型
3.服務(wù)端響應(yīng)請求的文件是否進(jìn)行壓縮
4.服務(wù)端響應(yīng)請求的主機是否進(jìn)行長連接
5.客戶端向服務(wù)端發(fā)起 TCP 斷開(四次揮手)
客戶端 --> 斷開請求 fin=1 seq=x --> 服務(wù)端
服務(wù)端 --> 響應(yīng)斷開 fin=1 ack=x+1 seq=y --> 客戶端
服務(wù)端 --> 斷開連接 fin=1 ack=x+1 seq=z --> 客戶端
客戶端 --> 確認(rèn)斷開 fin=1 ack=z+1 seq=sj --> 服務(wù)端
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末瑞侮,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子鼓拧,更是在濱河造成了極大的恐慌半火,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件季俩,死亡現(xiàn)場離奇詭異钮糖,居然都是意外死亡,警方通過查閱死者的電腦和手機酌住,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進(jìn)店門店归,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人酪我,你說我怎么就攤上這事消痛。” “怎么了都哭?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵秩伞,是天一觀的道長。 經(jīng)常有香客問我欺矫,道長纱新,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任穆趴,我火速辦了婚禮脸爱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘未妹。我一直安慰自己簿废,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布络它。 她就那樣靜靜地躺著族檬,像睡著了一般。 火紅的嫁衣襯著肌膚如雪酪耕。 梳的紋絲不亂的頭發(fā)上导梆,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天,我揣著相機與錄音,去河邊找鬼看尼。 笑死递鹉,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的藏斩。 我是一名探鬼主播躏结,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼狰域!你這毒婦竟也來了媳拴?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤兆览,失蹤者是張志新(化名)和其女友劉穎屈溉,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抬探,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡子巾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了小压。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片线梗。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖怠益,靈堂內(nèi)的尸體忽然破棺而出仪搔,到底是詐尸還是另有隱情,我是刑警寧澤蜻牢,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布烤咧,位于F島的核電站,受9級特大地震影響孩饼,放射性物質(zhì)發(fā)生泄漏髓削。R本人自食惡果不足惜竹挡,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一镀娶、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧揪罕,春花似錦梯码、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至框往,卻和暖如春鳄抒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工许溅, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瓤鼻,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓贤重,卻偏偏與公主長得像茬祷,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子并蝗,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,792評論 2 345

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