姓名:鄧復元
學號17020120041
轉載自https://blog.csdn.net/sinat_41075146/article/details/82255105?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-7.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-7.control
【嵌牛導讀】:本文介紹了HTTP和DNS的基本概念
【嵌牛鼻子】:HTTP蛔翅、DNS概念了解
【嵌牛模塊】:概念、原理融师、特點
【嵌牛正文】:
一 爆土、 HTTP 原理概念介紹? ;
用戶訪問網(wǎng)站的原理過程是什么樣~~~~
01.?DNS域名解析宇立,獲悉域名對應IP地址
02.?根據(jù)IP地址訪問網(wǎng)站服務器踪宠,TCP三次握手過程
03.?用戶向網(wǎng)站服務請求信息,HTTP請求過程(HTTP請求報文)
04.?網(wǎng)站服務對用戶請求進行響應妈嘹,HTTP響應過程(HTTP響應報文)
?說明:03?04步驟就稱為HTTP協(xié)議原理過程
05.?斷開網(wǎng)絡連接柳琢,TCP四次揮手過程
二 、 HTTP 協(xié)議簡介? 润脸;
HTTP 協(xié)議(超文本傳輸協(xié)議)是互聯(lián)網(wǎng)中常用的一網(wǎng)絡種協(xié)議柬脸, HTTP 的重要應用之一是 www 服務,設計 HTTP 協(xié)議 最初的目的就是提供一種發(fā)布和接收HTMl的方法毙驯,
主要應用于 web 瀏覽器 和 web 服務器之間的通信肖粮,Http默認的協(xié)議端口是 80 端口 , 另外一個加密的 www 服務應用 https 端口為 443 尔苦, https 以前主要用于 網(wǎng)銀 支持等和錢相關的業(yè)務涩馆,現(xiàn)在已經(jīng)不止是錢相關的在用了 很多企業(yè)都在用 ,
三 允坚、 HTTP 協(xié)議 版本介紹? ?魂那;
HTTP 協(xié)議從誕生支出到現(xiàn)在經(jīng)歷了若干個版本,其中最主要的版本為 HTTP/1.0 稠项、 HTTP/1.1涯雅,
HTTP/1.0 是第一個得到廣泛使用的版本, HTTP/1.1 為當前使用的主流版本 展运。
HTTP/1.0 在 HTTP/0.9 的基礎上增加了 HTTP 請求頭可以支持更多的請求方法活逆,并且能對多媒體對象進行處理精刷,HTTP/1.0 使得包含生動的圖片web 頁面和交互式表格成為可能
HTTP/1.0 規(guī)定瀏覽器與服務器只保持了短暫連接,瀏覽器的每次 請求都需要與服務器建立新的 TCP連接蔗候,服務器請求完后斷開連接 怒允,服務器不跟蹤每個用戶也不記錄過去的請求 。
3.1 HTTP 協(xié)議 短連接和 長連接 說明 :
HTTP/1.0 短連接 :
斷開連接后锈遥,短時間內在和服務器端建立連接纫事,還需要從新建立TCP 三次握手,費時 效率不高
HTTP/1.1 :? 長連接 所灸;
支持持久連接丽惶,在一個 TCP 連接上可以傳送多個HTTP 請求和響應,減少了建立和關閉連接的消耗和時間的延遲爬立,效率較高 钾唬。
四 、 HTTP 請求 - 響應 上圖理解? 侠驯;
瀏覽器 只是負責解析 代碼語言給用戶反回了用戶需要的頁面 知纷。
4.1? 、請求報文 陵霉;
4.2 、 常見的請求方法
常用的兩種請求? ? GET 獲取? ? 伍绳、 POST 請求
五 踊挠、 HTTP 狀態(tài)碼 ===============================================================
常用的是 后邊幾個 ,HTTP 狀態(tài)碼是用來表示web 服務器響應HTTP請求狀態(tài)的數(shù)字代碼冲杀,
每當web 客戶端向 web 服務器發(fā)送一個 HTTP 請求 web 服務器 都會返回一個狀態(tài)響應碼效床,這個狀態(tài)碼
一般是一個三位數(shù)字,作用是告知web客戶端此次請求是否成功权谁,或者是否要采取其他的動作方式 剩檀。
不同范圍的狀態(tài)碼及其對應的作用
狀態(tài)碼含義
100 ~ 199用于指定客戶端相應的某些動作
200 ~299表示請求已經(jīng)成功
300 ~ 399用于已經(jīng)移動的文件,并且常被包含在定位頭信息中指定的新的地址信息 旺芽。
400 ~ 499用于指定客戶端的錯誤信息?
500 ~ 599用于指出服務器端的錯誤?
5.1 常用狀態(tài)嗎說明? ?沪猴;
重點掌握? 502 錯誤 這個錯誤 一搬是后端有問題了?
5.2 使用 curl 命令查看 響應報文 和 請求報文 詳細信息?
[root@m01 ~]# curl -v www.360buy.com? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?--->>? ? ?-v 顯示詳細信息
* About to connect() to www.360buy.com port 80 (#0)
* Trying 111.20.253.129... connected
* Connected to www.360buy.com (111.20.253.129) port 80 (#0)
> GET / HTTP/1.1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?---->>???GET 請求方式 --- 版本信息 “ > ”? 表示請求報文
> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.21 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2? ?-->> 用的是什么瀏覽器類型
> Host: www.360buy.com? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? --->> 訪問的域名 對應的主機信息
> Accept: */*
>? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?----->> 空行 請求頭結束
< HTTP/1.1 301 Moved Permanently? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?--->>? ?“ < ”? 表示開始 響應報文內容 包含狀態(tài)嗎等信息,301 永久跳轉
< Server: JDWS/2.0? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ---->>? 響應頭部 采章,
< Date: Sat, 09 Sep 2017 03:15:54 GMT? ? ? ? ? ? ? ? ? ? ? ? ? ---->>?時間信息
< Content-Type: text/html? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?---->>? 返回的文件信息是什么 html
< Content-Length: 272? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ---->> 報文的 大小 長度
< Connection: keep-alive? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ---->> 長連接
< Location: http://www.jd.com/? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?---->> 指定了新的地址,這里是做了地址跳轉运嗜,跳轉到了新的地址的
< Via: BJ-H-NX-112(), http/1.1 XA-CM-1-JCS-159 ( [cRs f ])
< Age: 629
<? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?------>>??一個空行 響應報文 - 結束
=================================================================================
這就是一個響應主體 ,也就是你訪問的內容
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 響應主體
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<h1>301 Moved Permanently</h1>
<p>The requested resource has been assigned a new permanent URI.</p>
<hr/>Server: JDWS</body>
</html>
* Connection #0 to host www.360buy.com left intact
* Closing connection #0
=================================================================================
?六? 悯舟、 URL與URI的概念 (重點)
https://www.taobao.com/markets/3c/shuma?spm=a21bo.50862.201867-main.12.28689e73E6z0p9
https://www.taobao.com/ -- URL信息
/markets/3c/shuma?spm=a21bo.50862.201867-main.12.28689e73E6z0p9 --URI信息
域名組成:URL+ URI組成
URL担租,全稱為Uniform Resource Location,中文翻譯為統(tǒng)一資源定位符
URI抵怎,全稱為Uniform Resource Identifier奋救,中文翻譯為統(tǒng)一資源標識符
七岭参、靜態(tài)網(wǎng)頁和動態(tài)網(wǎng)頁區(qū)別? ?;
靜態(tài)網(wǎng)頁資源特點是尝艘, 開發(fā)寫什么演侯,網(wǎng)頁顯示的內容就是什么,一點編寫完成利耍,就不會有任何的改變蚌本,
靜態(tài)網(wǎng)頁的維護相對麻煩,每個不同的網(wǎng)頁都需要單獨的編寫更新隘梨,靜態(tài)網(wǎng)頁一般適合用于更新較少的的宣
傳展示網(wǎng)站程癌,(例如 酒、家具轴猎、水果 等宣傳網(wǎng)站)嵌莉,
靜態(tài)網(wǎng)頁對應程序以及資源文件常見擴展名 :
① ,純文本類程序或者文件 如 : .html捻脖、 .htm锐峭、 .xml、 .shtml可婶、.js沿癞、.css 等
② ,圖片類文件或者是數(shù)據(jù)文檔 如 : .jpg矛渴、.gif椎扬、.png、.bmp具温、.txt蚕涤、.doc、.ppt 等
③ 铣猩,視頻類流媒體文件 如: . mp4 揖铜、.swf、.avi达皿、.wmv天吓、.flv 等
靜態(tài)網(wǎng)頁資源的6個重要特征:
① ,每個頁面都有一個固定的 URL 地址峦椰,且URL 一般是以 .html 失仁、 .htm 、.shtml 等常見的形式為后綴
? ? ? ?而且地址中不含有 問號 或 & 等特殊符號 们何。
② 萄焦,網(wǎng)頁內容已經(jīng)發(fā)布到網(wǎng)站服務器上,無論是否有用戶訪問,每個網(wǎng)站內容信息都是保存在網(wǎng)站服務器
? ? ? ?文件系統(tǒng)上拂封,也就是說茬射,靜態(tài)的網(wǎng)頁是實實在在保存在服務器上的文件實體, 每個網(wǎng)頁都一個一個獨立的文件冒签。
③ 在抛,網(wǎng)頁內容是固定不變的,因此容易被搜索引擎收錄(容易被用戶找到) 這也是靜態(tài)網(wǎng)也的一個(優(yōu)點)
④ 萧恕,因網(wǎng)頁 沒有數(shù)據(jù)庫的支持刚梭,所以在網(wǎng)站制作和維護方面工作量較大,當網(wǎng)站信息量很大時票唆,
? ? ? ? 完全依靠靜態(tài)網(wǎng)頁比較困難 (缺點)
⑤ 朴读,網(wǎng)頁的 交互性很差,在程序的功能實現(xiàn)方面有著較大的限制 (缺點)
⑥ 走趋,網(wǎng)頁程序是在用戶的瀏覽器中解析衅金,程序解析效率高 ,由于服務器端不進行解析簿煌,不需要讀取數(shù)據(jù)庫氮唯,
? ? ? ? 因此服務器端可以接受更多的并發(fā)訪問,當客戶端向服務器端請求數(shù)據(jù)時服務器會直接從磁盤文件系統(tǒng)
? ? ? ?上返回數(shù)據(jù)(不做任何解析) 等客戶端拿到數(shù)據(jù)后姨伟,在瀏覽器上解析惩琉,并顯示出用戶需要的數(shù)據(jù) 。(優(yōu)點)
靜態(tài)網(wǎng)頁缺點:? ? ?沒有數(shù)據(jù)的支持 夺荒, 沒有交互功能 就是 不能登錄 或者是 注冊 什么的
靜態(tài)網(wǎng)頁優(yōu)點 :? ? 響應速度較快 瞒渠,容易被搜索引擎收錄容易被用戶找到 。
服務端 要什么給什么 般堆,生成頁面用戶需要的數(shù)據(jù) 是由 客戶端的 web 來做的 。
八? 诚啃、 怎么評估 這個網(wǎng)站是不是很好 淮摔, 是不是 大型的網(wǎng)站? ??
1, 獨立IP數(shù)度量值
獨立IP數(shù)度量值是指不同IP地址的計算機訪問網(wǎng)站是被記錄的總數(shù)次始赎,在一個局域網(wǎng)內多個主機
進行訪問相同的網(wǎng)站地址時和橙,獨立IP數(shù)記為多少?
一般一天內 (00:00 - 24:00) 相同的IP地址的客戶端訪問網(wǎng)頁只會被記錄一次 造垛。
2魔招,頁面瀏覽次數(shù) PV
頁面的瀏覽量或者是點擊量
3 ,獨立訪客數(shù) UV
根據(jù)http請求報文: 瀏覽器版本五辽, 0S
根據(jù)http響應報文: cookie (id) --- 將客戶端數(shù)據(jù)保存到本地
session --- 將客戶端數(shù)據(jù)保存到服務器
① 办斑, 第一種 不是很精準
② , 第二種 打開一個網(wǎng)頁就是一個 pv ,在同一網(wǎng)站下打開在一個頁面又是一個 pv
③ 乡翅, 相對于前兩種 最后這種 相對于精準一點 記錄相關設備屬性信息 cookie 記錄的是 設備的屬性 信息 鳞疲, session 將客戶端的數(shù)據(jù)信息記錄? ? ? ? ? 到服務器端 , session 會話 共享
工作中常用的統(tǒng)計工具? ?:
網(wǎng)頁信息統(tǒng)計軟件-piwik
pwiki統(tǒng)計工具:(https://piwik.org/)
pwiki演示頁面:https://piwik.org/demo
九? 蠕蚜、 ---- cookie 和 session 的區(qū)別? 尚洽;
1、cookie數(shù)據(jù)存放在客戶的瀏覽器上靶累,session數(shù)據(jù)放在服務器上腺毫。
2、cookie不是很安全挣柬,別人可以分析存放在本地的COOKIE并進行COOKIE欺騙
?? 考慮到安全應當使用session潮酒。
3、session會在一定時間內保存在服務器上凛忿。當訪問增多澈灼,會比較占用你服務器的性能
?? 考慮到減輕服務器性能方面,應當使用COOKIE店溢。
4叁熔、單個cookie保存的數(shù)據(jù)不能超過4K,很多瀏覽器都限制一個站點最多保存20個cookie床牧。
十? 荣回、DNS 域名解析原理 :?
上圖理解 :
1, 用戶訪問一個網(wǎng)站戈咳,首先訪問的是 本地的 緩存服務器 hosts 文件
2心软,當本地的域名服務器收到請求后,先查詢本地的緩存著蛙,如果有該紀錄項删铃,則本地的域名服務器就直接把查詢的結果返回。?
3踏堡,如果本地的緩存中沒有該紀錄猎唁,則本地域名服務器就直接把請求發(fā)給根域名服務器,然后根域名服務器
? ? ?再返回給本地域名服務器一個所查詢域(根的子域) 的主域名服務器的地址顷蟆。
4诫隅, 查看 windows 本地緩存DNS 解析記錄的命令
C:\Users\Admin>ipconfig /displaydns? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? --->>??查看命令
Windows IP 配置
safebrowsing.googleapis.com
----------------------------------------
5, 清除 windows 客戶端本地緩存的DNS 解析記錄的命令
C:\Users\Admin>ipconfig /flushdns
6帐偎, windows 系統(tǒng)下的hosts 域名解析記錄的位置
C:\Windows\System32\drivers\etc\hosts