web -httpd
一、DNS與域名
1、網絡是基于 TCP/IP 協議進行通信和連接的,每一臺主機都有一個唯一的標識(固定的 IP 地址),用以區別在網絡上成千上萬個用戶和計算機。網絡在區分所有與之相 連的網絡和主機時,均采用一種唯一、通用的地址格式,即每一個與網絡相連接的計算機和服務器都被指派一個獨一無二的地址
2、為了保證網絡上每臺計算機的 IP 地址的唯 一性,用戶必須向特定機構申請注冊,分配 IP 地址網絡中的地址方案分為兩套:IP 地址系統 和 域名地址系統。這兩套地址系統其實是一一對應的關系,由于 IP 地址是數字標識,使用時難以記憶和書寫,因此在IP 地址的基礎上又發展出一種符號化的地址方案,來代替數字型的 IP 地址
總結:
網絡上交互是基于TCP/IP協議的,每個主機在邏輯上有一個唯一位置標識(IP地址),物理地址為MAC地址為了保證地址唯一性,用戶協議向特地給機構申請注冊,分配IP地址網絡中的地址有兩套方案: ① IP地址系統 ② 域名地址系統 而由于IP是由32位二進制數字標識,不方便記憶,所以 以IP地址為基礎發展出了符號化地址來代替解決方案,也是是域名
二、DNS 解析
2.1 /etc/hosts
linux系統中負責快速解析的文件,包含了ip與主機名的映射關系,在沒有DNS服務器的情況下,使用本地/etc/hosts完成解析/映射,實現快速訪問
主要用于主機之間(IP和主機名)的映射/解析關系 192.168.226.128 master 192.168.226.129 node1 192.168.226.130 node2
2.2 /etc/resolv.conf
DNS客戶端配置文件,主要用于設置DNS服務器的IP和域名,還包含了主機域名的搜索順序等等,這個文件是由域名解析器(resolver,一個根據主機名解析IP地址的庫)使用的配置文件。
主要用與匹配DNS服務器 nameserver 114.114.114.114 nameserver 8.8.8.8 nameserver 218.2.135.1
2.3 網卡配置文件
/etc/sysconfig/network-scripts/ifcfg-ens33
我們也可以在網卡配置文件中定義DNS1= DNS2=
生效順序 1 hosts文件 2 網卡配置文件 3 /etc/resolv.conf ?
三、網頁
3.1 網頁基本概念
1.網頁 (1)純文本格式文件 (2)編寫語言為HTML
2.網站 由一個一個頁面構成的,是多個網頁的結合體
主頁,打開網站后出現的第一個網頁稱為網站主頁(或首頁)
3.域名 瀏覽網頁時輸入的網址
4.HTTP/HTTPS 用來傳輸網頁的通信協議(是否加密),是一種通訊/交互的標準/規范
5.URL 是一種萬維網尋址系統
6.HTML 用來編寫網頁的超文本標記語言
7.超鏈接 超鏈接是將網站中不同網頁鏈接起來的功能
8.發布 將制作好的網頁上傳到服務器供用戶訪問的過程
3.2 HTML
1.HTML超文本標記語言 Hyper Text Markup Language 網頁的“源碼” 瀏覽器:“解釋和執行”HTML源碼的工具
2.HTML文檔的結構 HTML網頁 頭部部分 標題部分 主體部分 網頁內容,包括文本、圖像等
示例:
<html>
<head>
<title>我的第一個網頁 </title>
</head>
<body >
???????Hello World!
</body>
</html>
#頭標簽中常用標簽:
標簽 描述
<title> 定義了文檔的標題
<base> 定義了頁面鏈接標簽的默認鏈接地址
<link> 定義了一個文檔和外部資源之間的關系
<meta> 定義了 HTML 文檔中的元數據
<script> 定義了客戶端的腳本文件
<style> 定義了 HTML 文檔的樣式文件
#內容標簽中常用標簽
標簽 描述
<table> 定義一個表格
<tr> 定義了表格中的一行
<td> 定義了表格中某一行的一列
<img> 定義了一個圖像
<a> 定義了一個超鏈接
<p> 定義了一行
<br> 定義了換行
<font> 定義了字體
123456789101112131415161718192021222324252627282930
3.網頁基本標簽 網頁摘要信息的作用 有利于瀏覽器解析 有利于搜索引擎搜索
<title>標簽 #標題
<meta>標簽 #元標志
12
標題標簽類型: 行控制相關標簽 范圍標簽 圖像標簽 超鏈接標簽 特殊符號
四、Web
4.1 Web概述
Web(World Wide Web)即全球廣域網,也稱為萬維網。 一種分布式圖形信息系統,建立在Internet上的一種網絡服務
4.2 Web1.0 vs Web2.0
Web1.0 以編輯為特征,網站提供給用戶的內容是編輯處理后的,然后用戶閱讀網站提供的內容這個過程是網站到用戶的單向行為
Web2.0 更注重用戶的交互作用,用戶既是網站內容的消費者(瀏覽者),也是網站內容的制造者加強了網站與用戶之間的互動,網站內容基于用戶提供,網站的諸多功能也由用戶參與建設,實現了網站與用戶雙向的交流與參與
Web2.0特征 用戶分享、以興趣為聚合點的社群、開放的平臺,活躍的用戶
4.3 靜態頁面 與動態頁面
4.3.1靜態頁面定義
靜態網頁是標準的HTML文件擴展名是.htm、.html 例如文本、圖像、聲音、Flash動畫、客戶端腳本和ActiveX控件及Java小程序等是網站建設的基礎,早期網站一般都由靜態網頁制作沒有后臺數據庫、不含程序和不可交互的網頁相對更新起來比較麻煩,適用于一般更新較少的展示型網站
靜態頁面特點:
每個靜態網頁都有一個固定的URL,且URL以.htm、.html、.shtml等常見形式為后綴,而不含有“?”網頁內容一經發布到網站服務器上,無論是否有用戶訪問,每個靜態網頁都是保存在網站服務器上的靜態網頁的內容相對穩定,容易被搜索引擎檢索靜態網頁沒有數據庫的支持,在網站制作和維護方面工作量較大,因此當網站信息量很大時完全依靠靜態網頁制作方式比較困難靜態網頁的交互性較差,在功能方面有較大的限制頁面瀏覽速度迅速,過程無需連接數據庫,開啟頁面速度快于動態頁面
4.3.2 動態頁面
網頁 URL不固定,能通過后臺與用戶交互在動態網頁網址中有一個標志性的符號——“?”常用的語言有PHP、JSP、Python、Ruby等
動態頁面特點:
交互性 網頁會根據用戶的要求和選擇而動態改變和響應,將瀏覽器作為客戶端界面,這將是今后WEB發展的大勢所趨自動更新 無須手動地更新HTML文檔,便會自動生成新的頁面,可以大大節省工作量因時因人而變 當不同的時間,不同的人訪問同一網址時會產生不同的頁面
五、HTTP協議
5.1 簡介,版本
HTTP(超文本傳輸協議HyperText Transfer Protocol)協議是互聯網上應用最為廣泛的一種網絡協議,它是基于TCP協議的應用層傳輸協議,簡單來說就是客戶端和服務端進行數據傳輸的一種規則。
TTP/HTTPS是應用層上的協議,建立在傳輸層TCP之上,客戶端通過與服務端進行TCP連接(三次握手),之后發送HTTP請求與接收HTTP響應都是通過訪問Socket接口來調用TCP協議實現。
HTTP 是一種無狀態 (stateless) 協議, HTTP協議本身不會對發送過的請求和相應的通信狀態進行持久化處理(存儲,保存)。這樣做的目的是為了保持HTTP協議的簡單性,從而能夠快速處理大量的事務, 提高效率。
然而,在許多應用場景中,我們需要保持用戶登錄的狀態或記錄用戶購物車中的商品。由于HTTP是無狀態協議,所以必須引入一些技術來記錄管理狀態,例如Cookie。
cookie和session都為了實現的是http的短期的持久化(內存/緩存方式,查詢快、效率比較高)cookie 是緩存在用戶端(client)瀏覽器中的(默認緩存一天),當下次客戶端通過同一個瀏覽器訪問客戶端的時候,會優先讀取cookie中的緩存信息,向服務端進行請求,同時服務端收到客戶端請求的時候,讀取到cookie文件,知道客戶端之前找的是服務器A處理的任務,為了省事兒,省資源,干脆直接講請求直接再交給服務器A處理 兩者對比: cookie 省服務器性能 session 更安全 1、為后面服務、集群、功能優化做鋪墊 2、具體解釋了怎么解決HTTP無狀態協議的持久化/存儲。
5.2 HTTP協議的版本
HTTP 0.9:已過時
HTTP 1.0
HTTP 1.1
HTTP 2.0
HTTP1.0和HTTP1.1之間的區別
緩存處理帶寬優化及網絡連接的使用錯誤通知的管理Host頭處理長連接
5.3 HTTP 請求格式( GET / POST 方式 )
5.3.1 GET 方式
?請求行 請求的方式 請求的資源路徑 請求的版本協議號 ?請求頭(描述信息/標準化信息) Accept:客戶端可以接受的數據類型 Accept-Language:客戶端可以接受的語言類型 User-Agent:瀏覽器的信息 Accpect-Encoding:客戶端可以接受的編碼格式 Host:表示請求的ip和端口號 Connection:告訴服務器請求連接如何處理 Keep-Alive:通知服務器回傳數據不要馬上關閉,保持一小段的連接 Closed:馬上關閉 ?
5.3.2 POST 請求方式
?請求行 請求的方式 請求的資源路徑 請求的協議的版本號 ?請求頭 ?
Accept:客戶端可以接受的數據類型 Accept-Language:客戶端可以接受的語言類型 Referer:表示請求發起時,瀏覽器地址欄中的地址 User-Agent:瀏覽器的信息 Content-Type:發送的數據類型 Content-Length:發送的數據長度
請求體:就是發送給服務器的數據
5.3.3 GET 與 POST 區別
?區別一:語義上的區別 Get向服務器請求數據,依照HTTP協議,get 是用來請求數據。 Post向服務器發數據,依照HTTP協議,Post的語義是向服務器添加數據,也就是說按照Post的語義,該操作是會修改服務器上的數據 ?區別二:服務器請求的區別 Get請求是可以被緩存,示例: 訪問百度,訪問的方式就是GET,此時訪問后的內容會緩被存在瀏覽器中,短時間再次訪問,其實是拿到的瀏覽器中的緩存內容另外Get請求只能接收ASCII碼的回復 Post請求是不可以被緩存的。對于Post方式提交表單,刷新頁面瀏覽器會彈出提示框“是否重新提交表單”,Post可以接收二進制等各種數據形式,所以如果要上傳文件一般用Post請求 ?區別三:參數放請求頭和請求體的差別 Get請求通常沒有請求體(當然這也是可以由程序猿心情改變的),在TCP傳輸中只需傳輸一次(而不是一個包),所以Get請求效率相對高。 Post請求將數據放在請求體中,而實際傳輸中,會先傳輸完請求頭,再傳輸請求體,是分為兩次傳輸的(而不是兩個包)。 Post請求頭會比Get更小(一般不帶參數),請求頭更容易在一個TCP包中完成傳輸,更何況請求頭中有Content-Length的標識,可以更好地保證Http包的完整性。 ?
簡單的理解:
?GET方法: 從指定的服務器上獲得數據 GET請求能被緩存 GET請求會保存在瀏覽器的瀏覽紀錄里(cookit) GET請求有長度的限制 主要用于獲取數據 查詢的字符串會顯示在URL中,不安全 ?POST方法: 提交數據給指定服務器處理 POST請求不能被緩存 POST請求不會保存在瀏覽器的瀏覽紀錄里 POST請求沒有長度限制 查詢的字符串不會顯示在URL中,比較安全 ?
5.4 HTTP狀態碼
當使用瀏覽器訪問某一個URL,會根據處理情況返回相應的處理狀態
通常正常的狀態碼為2xx,3xx(如200)
如果出現異常會返回4xx,5xx(如404)
狀態碼首位已定義范圍分類1xx100 - 101信息提示2xx200 - 206成功3xx300 - 305重定向4xx400 - 415客戶端錯誤5xx500 - 505服務器錯誤
生產環境常見的HTTP狀態碼
消息描述200OK請求成功(其后是對GET和POST請求的應答文檔)301Moved Permanently請求的永久頁面跳轉403Forbidden禁止訪問該頁面404Not Found服務器無法找到被請求的頁面500Internal Server Error內部服務器錯誤502Bad Gateway無效網關503Service Unavailable當前服務不可用504Gateway Timeout網關請求超時
5.5 HTTP協議請求流程分析
?用戶輸入URL(地址鏈接) 客戶端獲取到端口及主機名后,客戶端利用DNS解析域名,首先客戶端的瀏覽器會先找自身的緩存,如果有解析結束,如果沒有客戶端會去找host文件,如果host文件沒有的話,客戶端會去找本地的DNS緩存服務器,本地的DNS緩存服務器沒有的話,緩存服務器會去找根域,根域沒有,會返回一個.com.然后本地緩存服務器會去找頂級域,頂級域沒有的話會返回baidu.com.,然后本地緩存服務器會去找二級域,二級域解析完后會返回客戶端。 客戶端解析到IP地址后會通過TCP的三次握手與服務器建立連接
六、總結
1.DNS與域名的簡單介紹 2.DNS 解析的配置文件順序 3.網頁的基本概述 、HTML文檔結構,網頁基本標簽 4.web1.0 與 web2.0 的區別 5.Post 與 Get 方法區別 6.HTTP協議的簡介
總結
以上是生活随笔為你收集整理的web -httpd的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux远程访问及控制
- 下一篇: linux 之免交互操作