1.什么是url
URL統(tǒng)一資源定位符,表示一個(gè)資源(圖片,文字,視頻,音頻等)
URL組成部分:
例如:http:// fj.xuliangwei.com:80 /public/tt.jpeg(協(xié)議,主機(jī)名|域名,端口,文件的路徑)
協(xié)議:http,HTTPS
域名:xuliangwei.com
端口 : 80 443
路徑:/public/tt.jpeg---uri
查詢:key=value
2.什么是HTML
HTML簡稱web page,只不過一個(gè)完整的HTML頁面可能會(huì)包含很多個(gè)URL的資源。(反之 :我們也可以理解一個(gè)HTML文件是由多個(gè)不同的URL資源拼接而成。)
3.什么是http
http:超文本傳輸協(xié)議,http協(xié)議就是將用戶請(qǐng)求的HTML頁面從一臺(tái)web服務(wù)器傳輸?shù)娇蛻舳藶g覽器的一種協(xié)議(web上進(jìn)行數(shù)據(jù)交換的基礎(chǔ))
4.URL,HTML,HTTP之間 的關(guān)系
一個(gè)完整的HTML頁面是由N多個(gè)URL地址資源組成的,而HTTP協(xié)議是用來傳輸這種HTML文件的。
5.HTTP的工作原理
1 ) 地址解析
2)封裝HTTP請(qǐng)求數(shù)據(jù)包
3)封裝成TCP包,建立TCP連接(TCP的三次握手)
4)客戶機(jī)發(fā)送請(qǐng)求命令
5)服務(wù)器響應(yīng)
6)服務(wù)器關(guān)閉TCP連接

6.當(dāng)用戶在瀏覽器輸入域名后,會(huì)發(fā)生哪些操作? dns tcp http
用戶-->app cache --> dns --> tcp --> http request --> http response --> tcp
(1)瀏覽器向 DNS 服務(wù)器請(qǐng)求解析該 URL 中的域名所對(duì)應(yīng)的 IP 地址;
(2)解析出 IP 地址后,根據(jù)該 IP 地址和默認(rèn)端口 80,和服務(wù)器建立TCP連接;
(3)瀏覽器發(fā)出讀取文件(URL 中域名后面部分對(duì)應(yīng)的文件)的HTTP 請(qǐng)求,該請(qǐng)求報(bào)文作為 TCP 三次握手的第三個(gè)報(bào)文的數(shù)據(jù)發(fā)送給服務(wù)器;
(4)服務(wù)器對(duì)瀏覽器請(qǐng)求作出響應(yīng),并把對(duì)應(yīng)的 html 文本發(fā)送給瀏覽器;
(5)釋放 TCP連接;
(6)瀏覽器將該 html 文本并顯示內(nèi)容;
7.抓包分析
8.HTTP請(qǐng)求和響應(yīng)
(1)http請(qǐng)求Headers
Request URL: http://10.0.0.7/ (請(qǐng)求的域名)
Request Method: GET (請(qǐng)求的方法 獲取)
Status Code: 200 OK (狀態(tài)碼 200)
Remote Address: 10.0.0.7:80 (請(qǐng)求的真實(shí)IP地址+端口)
Referrer Policy: no-referrer-when-downgrade ((TTPS頁面引入HTTP資源)時(shí)不發(fā)送Referrer信息)
--------------------------------------------------------------------
Accept: text/html,application/xhtml+xml ( 接受資源類型)
Accept-Encoding: gzip, deflate ( 壓縮方式)
Accept-Language: zh-CN,zh;q=0.9 ( 使用語言)
Cache-Control: no-cache (緩存控制)
Connection: keep-alive (保持連接, 長連接)
Host: 10.0.0.7 ( 請(qǐng)求的域名)
Pragma: no-cache (請(qǐng)求的參數(shù) , no-cache 沒有緩存)
Upgrade-Insecure-Requests: 1 ( 在http和https之間起的一個(gè)過渡作用)
User-Agent: Mozilla/5.0 (請(qǐng)求的設(shè)備)
請(qǐng)求的方法
GET 獲取服務(wù)器的資源 看朋友圈
POST 提交數(shù)據(jù)至服務(wù)器 發(fā)朋友圈
DELETE 刪朋友圈
什么是長連接,什么是短連接.
短連接 表示的是 http1.0協(xié)議時(shí)代, 一次連接一次請(qǐng)求,效率較低.
長連接 表示的是 http1.1協(xié)議時(shí)代, 一次連接,多次請(qǐng)求,效率較高.
http2.0 http3.0
https://http2.akamai.com/demo/http2-lab.html
(2)http響應(yīng)的Headers
Connection: Keep-Alive (保持連接,長鏈接)
Content-Length: 115 ( 響應(yīng)內(nèi)容的長度)
Content-Type: text/html;charset=utf-8 (響應(yīng)內(nèi)容的類型)
Date: Thu, 12 Sep 2019 02:12:38 GMT (響應(yīng)的日期 GMT+8小時(shí)=北京時(shí)間)
Keep-Alive: timeout=5, max=100 (長連接超時(shí)時(shí)間5s,最大100s)
Server: Apache/2.4.6 (CentOS) PHP/5.4.16 (服務(wù)器使用的web軟件 php java)
(3)狀態(tài)碼:
200 ok 正常
301 redirect 跳轉(zhuǎn) (永久)
302 redirect 跳轉(zhuǎn) (臨時(shí))
304 Not Modified 代表瀏覽器緩存
401 Authorization Required 驗(yàn)證失敗
403 Forbidden 1.權(quán)限不足 2.找不到首頁
404 Not Found 服務(wù)器上沒有你想要的的資源
500 服務(wù)器錯(cuò)誤 ( 可能會(huì)碰到 代碼 )
502 Bad Gateway 找不到后端服務(wù) nginx --> php
503 非常繁忙,負(fù)載過重,導(dǎo)致無法及時(shí)響應(yīng)用戶的請(qǐng)求
504 后端服務(wù)超時(shí)
9.額外headers信息?
user-agent
Referer字段 記錄從哪一個(gè)頁面過來的
Location WEB 服務(wù)器告訴瀏覽器,試圖訪問的對(duì)象已經(jīng)被移到別的位置了
10.ip pv uv 并發(fā) 日活 月活?
ip:是指獨(dú)立用戶/獨(dú)立訪客
pv:即Page View, 即頁面瀏覽量,用戶每1次對(duì)網(wǎng)站中的每個(gè)網(wǎng)頁訪問均被記錄1次。用戶對(duì)同一頁面的多次訪問,訪問量累計(jì)。
uv:指一天內(nèi)訪問某站點(diǎn)的人數(shù),以cookie/客戶端為依據(jù)
并發(fā):并發(fā)用戶數(shù)是指系統(tǒng)可以同時(shí)承載的正常使用系統(tǒng)功能的用戶的數(shù)量
日活:日活的概念即一天之內(nèi)打開某產(chǎn)品的用戶數(shù)(去重),也就是說一個(gè)人打開100次,即計(jì)算為1個(gè)日活,但是100個(gè)人,每人只開1次,也計(jì)算為100個(gè)日活。
月活:月活的概念和日活類似,但是統(tǒng)計(jì)周期擴(kuò)大為一個(gè)月,也就是在一個(gè)月的時(shí)間內(nèi),打開某產(chǎn)品的用戶數(shù)(去重)。也就是說一個(gè)月里面你每天都打開,也只算1個(gè)月活,但是100個(gè)人,分別在一個(gè)月內(nèi)的不同時(shí)間打開產(chǎn)品,就會(huì)計(jì)算為100個(gè)月活。
并發(fā): 10s 500 * 6 * 60 * 24 = 4320000 430w
假設(shè)公司有一座大廈,大廈有100人,每個(gè)人有一臺(tái)電腦和一部手機(jī),上網(wǎng)都是通過NAT轉(zhuǎn)換,每個(gè)人刷新網(wǎng)站10次,請(qǐng)問對(duì)應(yīng)的 pv,uv,ip,并發(fā) 分別是多少。
ip: 1個(gè) NAT
pv: 100 *2 * 10 = 2000
uv: 100 *2 = 200
并發(fā): 單位時(shí)間內(nèi)(3s 5s 10s) 能夠支持多少 請(qǐng)求 200
3ms 5000 3s 單位時(shí)間內(nèi)(10s) 能否支持最大的請(qǐng)求 5000
pv: 100000000 / 24 / 60 / 60 = 1158/s
uv: 10000000
ip: 1000000