域名
DNS與域名:
網絡是基于tcp/ip協議進行通信和連接的
tcp/ip協議是五層協議:應用層–傳輸層—網絡層----數據鏈路層----物理層每一臺主機都有一個唯一的地址標識(固定的ip地址,用于區分用戶和計算機。
ip地址:由32位二進制組成的,不方便記憶。隨后就有了域名。又因為網絡通信是靠IP地址進行通信的,域名不能直接通信,因此有了dns解析。
dns解析的主要作用:就是將域名解析成ip地址,方便進行通信。
dns解析的方式:
1、 /etc/hosts:負責快速解析的文件,包含了ip與主機名之間的映射關系。如果沒有dns服務器的情況下,可以使用/etc/hosts文件來完成解析和映射。
[root@www conf]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
2、/etc/resolv.conf:dns客戶端的配置文件,設置dns服務器的ip和域名。還包括了主機域名的搜索順序。主要是域名解析服務器使用的配置文件。
[root@www conf]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 114.114.114.114
3、修改網卡配置文件---->etc/sysconfig/network-scripts/ifcfg-ens33
注:現在的dns域名解析服務器,都由運營商來做。
dns域名解析服務器的作用:
1.保持和維護域名空間。
2.響應解析請求。(解析端也就是客戶端)
dns域名分層:根域 ——> 頂級域 ——> 二級域 ——> 子域 ——> 主機
如何注冊域名:
1、準備申請材料
2、查找域名注冊網站
3、注冊申請
4、正式使用
HTML
html:超文本標記語言,是一種規范的,標準的語言格式。網頁文件本身就是一個文本文件,html就是通過標記的方式,告訴瀏覽器如何顯示文本當中的內容。html文件是一個文本文件,所有可以生成txt的文件工具,都可以進行編輯,修改之后的文件后綴名為:.html或.htm
網頁:純文本格式的文件,用html語言來進行編寫的。再用瀏覽器翻譯成頁面的形式顯示出來,
網站:是由多個頁面組成的,也就是多個網頁組成的結合體。
主頁:打開網站后出現的第一個頁面就是網站的主頁。
域名:瀏覽網頁時輸入的網址。
協議:http/https (用來傳輸頁面的通信協議),https就是加密的,http/https都是通信協議,基于tcp協議,端口號http默認是80,https默認是:443
URL:萬維網尋址系統,唯一標識。即:https://www.xxx.com
uri:
?
超鏈接:超鏈接將網站中的不同頁面連接起來。
發布:將制作好的頁面上傳到服務器,供用戶訪問。
Web
Web:全球廣域網,也成為萬維網,是一種分布式圖形信息系統。建立在internet上的一種網絡服務。
Web1.0 和 Web2.0
Web1.0是單向的,以編輯為特征,網站提供給用戶的內容是編輯處理后,然會用戶閱讀網站提供的內容。
目前web2.0是主流,更注重交互作用。加強了網站與用戶的互動。所以產生了靜態頁面和動態頁面。
靜態頁面就是標準的html文件。
擴展名一般都是.html或.htm
里面可以包含圖片,文本,聲音 動畫。是網站建設的基礎,早期的網站都是靜態頁面,沒有后臺數據,不包含可交互的內容。相對來說更新起來比較麻煩,一般用于展示型網站。
靜態頁面(web1.0)的特點:
1.靜態頁面的url是固定的。一般不包含?
2.頁面一經發布,都是保存在網站服務器上的
3.靜態頁面相對穩定,內容很少發生變化,容易被搜索引擎檢索。
4.沒有數據庫的支持,制作和維護的工作量都比較大。網站的信息量如果太大,單純使用靜態頁面就會比較困難。
5.沒有交互性,只能看功能上受限很大。
6.瀏覽速度很快,因為不需要連接后端數據庫。
動態頁面(web2.0):
1.網頁url是不固定的,用戶可以和后臺數據進行交互。
2.動態頁面的網址中一般會包含一個特殊標記 —> ?
3.動態頁面的語言:PHP JSP PYTHON RUBY TOMCAT(JAVA)
動態頁面的特點:
1.交互性
2.自動更新
3.特效,每個人進入頁面的時候會有不同的效果。
總結:靜態頁面就是 —>看
動態頁面:------>交互
web3.0 場景融合
?
http協議:
httpd是apache服務在linux中的程序名
http協議:超文本傳輸協議。是互聯網上應用最廣泛的網絡協議之一。基于tcp協議的應用層的傳輸協議。面向用戶。
總結:就是客戶端和服務端之間進行數據傳輸的一種規則。
基本工作流程:
1.客戶端和服務端進行tcp連接。(三次握手—建立連接)
2.客戶端發送http請求,服務端接收到http請求之后,響應客戶端的請求。
3.通過socket接口,通過端口進行通信。
4,響應到達客戶端,解析的過程(瀏覽器解析),用戶查看,使用,訪問。
5.訪問,使用。查看。結束之后,斷開連接(—>四次揮手)
http是一種無狀態的協議,本身不會對發送過的請求和響應的通信進行持久化處理。連接保持。為了讓http能夠快速的大量的進行處理事務,提高效率。
連接保持是需要的。
cookie:記錄用戶的登錄狀態,跟蹤統計用戶訪問網站的習慣,識別用戶身份,保存用戶信息。這個是服務器留在用戶計算機上的小文件。從http1.1 開始自帶http協議的連接保持功能,也叫長連接。
長連接作用:
作用一:一次性獲取頁面文件的所有信息,不在需要分開處理請求,所以速度大大加快,也就是并行處理。
作用二:保持連接:keep-alive,在tcp連接上,可以傳送多個http的請求和響應。減少了建立和關閉連接的消耗和延遲。連接保持是有時間限制的,不是無限的,默認是開啟的,默認60s
連接資源占用:長時間保持占用,會降低服務器的負載,如果是高并發,會使服務器耗盡資源。
連接狀態管理:長連接需要維護連接狀態,增加服務器的負擔。(隨后就有了集群的誕生)
https:加密通信協議,加密數據傳輸。加密過程涉及客戶端和服務器之間進行密鑰交換,確保只有合法的接收方,才可以解密數據(即證書)
證書:https使用數字證書驗證身份
https應用:電子商務,銀行網站
加密解密會對訪問速度有一定影響。
http的請求方式:
1.請求頭:
請求頭當中包含請求體。
請求體當中的內容:
Accept:客戶端可以接收的數據類型
Accept-Encoding:客戶端可以接收的編碼格式
Accept-Language:客戶端可以支持的語言類型
Cache-Control:緩存使勁按,圖片或者音頻文件的緩存時間(緩存指的是保留在本地的時間,即下次再訪問圖片,不需要再向服務端發起請求,從而提高訪問速度)
Connection:告訴服務器處理請求連接。默認都是keep-alive,保持連接,默認65s
keep-alive:告訴服務器,保持一段時間,不要直接關閉連接
請求方式:
get:向服務器發起請求,http協議中的get,就是請求
post:也是請求的一種,post是向后臺發數據。服務器會添加數據,也可以改變服務器上的數據。
get方法特點:(獲取)
1.從指定服務器獲取數據
2.get請求是可以被緩存
3.get請求會保存在瀏覽器的記錄中,cookie
4.get請求的長度,是有限制的。
post方法的特點:(發送)
請求的一種,提交數據給服務器處理。
1.post請求不能緩存
2.post請求也不會記錄在瀏覽器的記錄當中
3.請求體的長度也沒有限制
?
Status 狀態碼,響應碼:由服務器來進行提供的
請求之后,服務器收到請求,會有一個回應,響應,同時會反饋一個響應碼。
請求狀態的響應碼:
1xx、2xx、3xx、4xx、5xx
100-101 | 信息提示 |
200-206 | 成功,只要狀態碼是200,統統是請求響應成功。 |
300-305 | 重定向 |
400-415 | 客戶端錯誤 (指的是請求失敗,獲取資源失敗) |
500-505 | 服務端錯誤(響應失敗) |
總結:
2xx 3xx 一般都是正確的;
4xx:客戶端錯誤 ,5xx:服務端錯誤。
常見的狀態碼:
200 | 成功 ok |
301 | 請求的永久頁面跳轉 |
304 | 重定向到緩存(訪問的是緩存) |
403 | 禁止訪問 (權限不夠) |
404 | 請求頁面找不到 (頁面不存在) |
500 | 服務器內部錯誤 |
502 | 網關失效 |
503 | 服務不可用 |
504 | 網關請求超時 |
socket (通信套接字):實現不同主機進行通信和數據交換,進程間傳輸的標志:ip ,端口
在http協議當中ocket的作用是:
1.客戶端套接字:定義了唯一的客戶進程。
2.服務端套接字:定義了一個唯一的服務器進程。
套接字調用的
socket():創建端口
bind():綁定ip和端口
listen():監聽,等待連接
accept():接收請求
connect():請求連接建立
wirte():發送
read():接收
ESTABLISHED:連接已經建立,正在傳輸數據
close()關閉連接
?