1.了解WEB以及網絡基礎
1.1使用HTTP協議訪問WEB
web頁面顯示:根據web瀏覽器地址欄中輸入指定的URL,web瀏覽器從web服務端獲取文件資源(resource)等信息,從而顯示出web頁面
?1.2網絡基礎TCP/IP
通常使用的網絡(包括 互聯網)是在tcp/ip協議族的基礎上運作的,而http屬于它內部的一個子集
1.2.1TCP/IP協議族
計算機與網絡設備相互通信,雙方就需要使用同樣的方法,比如,你和別人約定在某個地方見面,見面前,約定好在什么地方見面,見面時雙方的特征,以及見面以后做什么等規則都要事先確定,不同硬件、操作系統之間的通信,都需要一種規則,這種規則稱為協議(protocol)
協議包含各種內容:從電纜的規格到IP地址的選定方法,尋找異地用戶的方法,雙方建立通訊的順序,以及WEB頁面現實的需要處理的步驟等等,
TCP/IP一種解釋是,互聯網所關聯的協議集合。另一種是特指TCP/IP這兩種協議。還有一種是IP通信過程中,使用到的協議族的統稱
1.2.2TCP/TP分層管理
TCP/IP協議族按層次分成以下4層:應用層,傳輸層,網絡層,數據鏈路層?
分層作用類似模塊化,每一層只有處理當前層的問題即可,讓每一層更專注處理每一層該處理的問題?
1.2.2.1應用層
應用層決定了向用戶提供應用服務時的通信活動
?應用服務比如:
- FTP(File Transfer Protocol,文件傳輸協議)
- DNS(Domain Name System,域名系統)等
HTTP協議處于應用層
1.2.2.2傳輸層
傳輸層對上層應用層,提供處于網絡連接中的兩臺計算機之間的數據傳輸
傳輸層有兩個性質不同的協議:
- TCP(Transmission Control Protocol,傳輸控制協議)
- UDP(User Data Protocol,用戶數據報協議)
?1.2.2.3網絡層(又名網絡互連層)
網絡層用于處理在網絡上流動的數據包,數據包是網絡上傳輸最小的數據單位,該層還規定了發送給對方數據包的傳輸路線。
與對方計算之間或則通過對臺計算機或則網絡設備進行傳輸時,網絡層就是在眾多路線中選擇一條路線
?1.2.2.4鏈路層
用來處理鏈接網絡的硬件部分,包括控制操作系統,硬件的設備驅動,NIC(Network interface Card,網絡適配器,即網卡),光纖,等一切物理可見部分(還包括連接器等一切傳輸媒介)。硬件上的范疇均屬于鏈路層的作用范圍
1.2.3 TCP/IP通信傳輸流
- 利用TCP/IP協議族進行網絡通信時,發送端從客戶端從上往下走,接收端服務端從下往上走
?HTTP舉例說明:
- 發送端客戶端在應用層(http協議)發送一個web頁面的http請求
- 到了傳輸層(TCP協議)把從應用層處收到的數據(HTTP請求報文)進行分割,并在各個報文上打上標記序號及端口號后轉發給網絡層
- 到了網絡層(IP協議),增加作為通信目的地的MAC地址后轉發給鏈路層
- 到了接收端的服務器在鏈路層接收到數據,按順序往上層發送,當傳輸到應用層,才能算真正的接收到由客戶端發送過來的HTTP請求
?發送端在層與層之間傳輸數據時候,每經過一層時候必定會被打上一個該層的所屬的首部信息,反之接收端在層與層傳輸數據時候,沒經過一層會把對應的首部消去,這種數據信息包裝起來的做法稱為封裝
?1.3 與HTTP關系密切的協議:IP、TCP、DNS
1.3.1 負責傳輸的IP協議
IP(internet Protocol)網絡協議處于網絡層,作用是把各種數據包發送給對方,其中最重要的條件IP地址和MAC(Media Access Control Adress)地址,
- IP :節點分配的地址,可變,可以和mac進行配比
- MAC:網卡所屬的固定地址,基本上不會更改,可以和ip進行配比
1.3.1.1?使用ARP協議進行MAC地址通信
? ? ? ? ARP(Adress Resolution protocol)協議,是一種解析地址的協議,根據通信方的IP地址可以反查出對應的MAC地址
- ? IP之間通信會依賴于MAC地址,正常情況非統一局域網(lan)下的通信是通過多臺計算機和網絡設備的中轉才可以連接到對方,在中轉的時候,會利用下一站中轉設備的MAC地址搜索下一個中轉目標。這個過程使用到的協議就是ARP
1.3.2 確保可靠性的TCP協議
處于傳輸層的TCP,可以確定數據最終是否送達,發送過程把大塊數據分割成報文為單位的數據包進行傳輸。
?1.3.2.1 可靠的三次握手
TCP協議采用三次握手策略來確定數據是否傳輸成功,TCP協議處理好數據發送后,會向對方確定是否發送成功,握手過程使用了TCP標志SYN(synchronize)和ACK(acknowledgement)
?
握手過程如有中斷,會進行相同的順序再次發送?
?1.4 負責域名解析的DNS服務
?DNS(Domain name System)服務和HTTP一樣處于應用層,它提供了域名到IP之間的解析服務
?計算機既可以被賦予IP地址也可以被賦予主機名和域名例如www.hackr.jp
正常情況下訪問另一臺計算機是通過域名或則主機名,但是計算機商場處于數字,所以就需要DNS來解析
DNS可以通過域名查找IP,也可以通過IP逆向查找對方域名
?
?1.5?各種協議之間的關系
?
?1.5 URI和URL
URI(Uniform Resource Identifier) 統一資源標識符,URL(uniform Resource locator)統一資源定位符
URI:表示由某個協議方案表示的定位符,如(https?ftp)?等,表示指定的URI必須涵蓋全部必要的信息
URL:例如www.baidu.com,可見URL是URI的子集
?