1. 程式人生 > 實用技巧 >DNS,WEB,HTTP介紹與相關配置

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 傳送域名查詢資訊包到域名伺服器

  1. 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 日誌目錄

  1. 22. 日誌檔案有兩類,訪問日誌access_log,錯誤日誌err_log

23. 狀態碼

一.1開頭狀態碼

1xx(臨時響應)表示臨時響應並需要請求者繼續執行操作的狀態程式碼。

二、2開頭狀態碼

2xx (成功)表示成功處理了請求的狀態程式碼。

200 (成功) 伺服器已成功處理了請求。 通常,這表示伺服器提供了請求的網頁。

三、3開頭狀態碼

3xx (重定向) 表示要完成請求,需要進一步操作。 通常,這些狀態程式碼用來重定向。

四、4開頭狀態碼

4xx(請求錯誤) 這些狀態程式碼表示請求可能出錯,妨礙了伺服器的處理。

403 (禁止) 伺服器拒絕請求。

404 (未找到) 伺服器找不到請求的網頁。

五、5開頭狀態碼

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埠二選一。

  1. 關閉防火牆

systemctl stop firewalld

2.開啟防火牆80埠

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

3.測試介面