DNS,WEB,HTTP介紹與相關配置
1.DNS( Domain Name System)即域名解析系統,解析Internet上的主機域名地址和IP地址,使用埠號53,基於tcp/ip協議。
2.因特網採用層次樹狀結構的命名方法
,任何一個連線到因特網的主機或路由器,都有一個唯一的層次結構名稱,即域名(Domain Name)
,根域名伺服器是最高層次的域名伺服器,所有的根域名伺服器都知道所有的頂級域名伺服器的IP地址。 根域名伺服器也是最重要的域名伺服器,不管是哪個本地域名伺服器,若要對因特網上任何一個域名進行解析,只要自己無法解析,就首先要求助於根域名伺服器。全球共有13臺根域名伺服器。這13臺根域名伺服器中名字分別為“A”至“M”,其中10臺設定在美國,另外各有一臺設置於英國、瑞典和日本。
3.域名的結構
4. DNS伺服器查詢的型別:
(1)遞迴查詢(問一次就能得到結果)
遞迴查詢是一種DNS 伺服器的查詢模式,在該模式下DNS 伺服器接收到客戶機請求,必須使用一個準確的查詢結果回覆客戶機。如果DNS 伺服器本地沒有儲存查詢DNS 資訊,那麼該伺服器會詢問其他伺服器,並將返回的查詢結果提交給客戶機。
(2)迭代查詢(多次請求才能得到結果)
DNS 伺服器另外一種查詢方式為迭代查詢,DNS 伺服器會向客戶機提供其他能夠解析查詢請求的DNS 伺服器地址,當客戶機發送查詢請求時,DNS 伺服器並不直接回複查詢結果,而是告訴客戶機另一臺DNS 伺服器地址,客戶機再向這臺DNS 伺服器提交請求,依次迴圈直到返回查詢的結果為止。
5.DNS解析方式
1、正向解析:根據主機名稱(域名)查詢對應的IP地址
2、反向解析:根據IP地址查詢對應的主機域名
6.DNS伺服器型別
DNS主伺服器,這是主要的伺服器,它在記憶體和磁碟上都保持有整個資料庫的拷貝。如果系統崩潰,該資料庫能過載到記憶體中。
DNS輔伺服器,起輔助的作用,它獲得一份來自主DNS伺服器的資料庫備份。當主伺服器作修改時,輔伺服器也要求作相應修改。
DNS快取伺服器,用來儲存網路上使用者需要的網頁和內容的網路伺服器。
7.DNS解析原理
(1)當用戶在瀏覽器中輸入www.baidu.com域名訪問該網站時,作業系統會先檢查自己本地的hosts檔案是否有這個網址對映關係,如果有,就先呼叫這個IP地址對映,完成域名解析。
(2)如果hosts裡沒有這個域名的對映,則查詢本地DNS解析器快取,是否有這個網址對映關係,如果有,直接返回,完成域名解析。
(3)如果hosts與本地DNS解析器快取都沒有相應的網址對映關係,首先會找TCP/ip引數中設定的首選DNS伺服器,在此我們叫它本地DNS伺服器,此伺服器收到查詢時,如果要查詢的域名,包含在本地配置區域資源中,則返回解析結果給客戶機,完成域名解析,此解析具有權威性。
(4)如果要查詢的域名,不由本地DNS伺服器區域解析,但該伺服器已快取了此網址對映關係,則呼叫這個IP地址對映,完成域名解析,此解析不具有權威性。
(5)如果本地DNS伺服器本地區域檔案與快取解析都失效,則根據本地DNS伺服器的設定(是否設定轉發器)進行查詢,如果未用轉發模式,本地DNS就把請求發至13臺根DNS,根DNS伺服器收到請求後會判斷這個域名(.com)是誰來授權管理,並會返回一個負責該頂級域名伺服器的一個IP。本地DNS伺服器收到IP資訊後,將會聯絡負責.com域的這臺伺服器。這臺負責.com域的伺服器收到請求後,如果自己無法解析,它就會找一個管理.com域的下一級DNS伺服器地址(baidu.com)給本地DNS伺服器。當本地DNS伺服器收到這個地址後,就會找baidu.com域伺服器,重複上面的動作,進行查詢,直至找到baidu.com主機。
8.DNS配置檔案
Linux本地域名解析配置檔案:/etc/hosts
/etc/named.conf 主配置檔案 伺服器主要執行引數
Windows本地域名解析配置文:C:\Windows\System32\drivers\etc\hosts
9.資源型別的記錄
(1)A記錄(Address)正向解析IPV4
(2)PTR記錄(Pointer)反向解析
(3)CNAME記錄(Canonical Name)別名
(4)MX記錄(Mail eXchange)郵件交換記錄
(5)NS記錄(Name Server)域名伺服器記錄
(6)AAAA記錄IPV6
10. dig 傳送域名查詢資訊包到域名伺服器
- dig –t A www.baidu.com,可以查看出地址。(正向解析)
2.dig –x 14.215.177.38 (反向解析)
3.nslookup 互動式解析
11. web(World Wide Web)即全球廣域網,也稱為全球資訊網,它是一種基於超文字和HTTP的、全球性的、動態互動的、跨平臺的分散式圖形資訊系統。
12. 套接字(ip+埠) tcp套接字: 流式套接字(SOCK_STREAM),udp套接字:資料報套接字(SOCK_DGRAM):,sock_raw裸套接字(沒有介面)
13. HTTP協議(HyperText Transfer Protocol,超文字傳輸協議)是因特網上應用最為廣泛的一種網路傳輸協議,所有的WWW檔案都必須遵守這個標準,基於80埠。
14. HTTP是一個基於TCP/IP通訊協議來傳遞資料(HTML 檔案, 圖片檔案, 查詢結果等)。
15. 靜態資源(Html,CSS,JavaScript)
動態資源(*.jsp/servlet、*.asp/*.aspx、*.php)
通常來說,不需要在執行時更改的資源使用靜態資源;而需要在執行時更改的資源使用動態資源。動態資源需要使用的系統開銷大於靜態資源的系統開銷。
16. URI,通一資源標誌符(Uniform Resource Identifier, URI),表示的是web上每一種可用的資源,如 HTML文件、影象、視訊片段、程式等都由一個URI進行標識的。
如:https://blog.csdn.net/qq_32595453/article/details/79516787
①這是一個可以通過https協議訪問的資源,
②位於主機 blog.csdn.net上,
③通過“/qq_32595453/article/details/79516787”可以對該資源進行唯一標識(注意, 這個不一定是完整的路徑)
注意:以上三點只不過是對例項的解釋,以上三點並不是URI的必要條件,URI只是一種概念,怎樣實現無所謂,只要它唯一標識一個資源就可以了。
17. URL是URI的一個子集。它是Uniform Resource Locator的縮寫,譯為“統一資源定位 符”。
URL的一般格式為(帶方括號[]的為可選項):
protocol :// hostname[:port] / path / [;parameters][?query]#fragment
URL的格式由三部分組成:
①第一部分是協議(或稱為服務方式)。
②第二部分是存有該資源的主機IP地址(有時也包括埠號)。
③第三部分是主機資源的具體地址,如目錄和檔名等。
第一部分和第二部分用“://”符號隔開,
第二部分和第三部分用“/”符號隔開。
第一部分和第二部分是不可缺少的,第三部分有時可以省略。
18. http版本0.9,1.0,1.1(目前使用最廣泛)
http 0.9: 僅用於傳輸html文件
http 1.0:引入MIME機制,從而支援多媒體資料;引入keep-alive(持久連線);快取
http 1.1:更多請求方法,更精細快取控制;持久連線(persistent)
19. http請求過程:域名解析 —> 與伺服器建立連線 —> 發起HTTP請求 —> 伺服器響應HTTP請求,瀏覽器得到html程式碼 —> 瀏覽器解析html程式碼,並請求html程式碼中的資源(如js、css、圖片) —> 瀏覽器對頁面進行渲染呈現給使用者。
20. http服務程式
httpd(apache),nginx,iis,tomcat,webshpere(IBM公司)weblogic(Oracle)
21. httpd俗稱Apache,是一種開源的HTTP伺服器軟體,可以在大多數主流的計算機作業系統中執行(包括UNIX、Linux及Windows),再加上其支援多平臺且具有良好的安全性被廣泛使用,隨著網路技術的普及和不斷髮展,以及Web技術的不斷完善,Web服務已經成為網際網路上最重要的服務形式之一。
/etc/httpd/conf 配置檔案目錄
主配置檔案 httpd.conf
/etc/httpd/conf.d/*.conf
/etc/httpd/modules 模組目錄
/etc/httpd/logs --> /var/log/httpd 日誌目錄
- 22. 日誌檔案有兩類,訪問日誌access_log,錯誤日誌err_log
23. 狀態碼
一.1開頭狀態碼
1xx(臨時響應)表示臨時響應並需要請求者繼續執行操作的狀態程式碼。
200 (成功) 伺服器已成功處理了請求。 通常,這表示伺服器提供了請求的網頁。
3xx (重定向) 表示要完成請求,需要進一步操作。 通常,這些狀態程式碼用來重定向。
4xx(請求錯誤) 這些狀態程式碼表示請求可能出錯,妨礙了伺服器的處理。
403 (禁止) 伺服器拒絕請求。
404 (未找到) 伺服器找不到請求的網頁。
5xx(伺服器錯誤)這些狀態程式碼表示伺服器在嘗試處理請求時發生內部錯誤。 這些錯誤可能是伺服器本身的錯誤,而不是請求出錯。
500 (伺服器內部錯誤) 伺服器遇到錯誤,無法完成請求。
24. HTTPD: 俗稱Apache,是一種開源的HTTP伺服器軟體,可以在大多數主流的計算機作業系統中執行(包括UNIX、Linux及Windows),再加上其支援多平臺且具有良好的安全性被廣泛使用,隨著網路技術的普及和不斷髮展,以及Web技術的不斷完善,Web服務已經成為網際網路上最重要的服務形式之一。
25. 檢視是否安裝了httpd
這已經安裝,若沒有,可執行
yum –y install httpd
26. 檢視httpd狀態
systemcrl status httpd.service
沒有開啟
27. 執行 systemctl start httpd.service 開啟服務,再檢視。
發現已開啟。
28. 檢視httpd監聽大的埠
netstat –an | grep :80
29. 測試伺服器
測試之前,關閉防火牆或者設定開啟防火牆80埠二選一。
- 關閉防火牆
systemctl stop firewalld
2.開啟防火牆80埠
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
3.測試介面