0.前置知識 (TCP/IP協議)
TCP/IP協議是什么
[1]簡述
協議(pritocol)存在很多規則(從電纜的規格到IP地址的選定方法,尋找異地用戶的方法,web頁面顯示的方法),分工協議的專業化——因此把協議分成幾個層面
原因:讓每個層面有專門的
協議去負責,可以做到詳細和完整,而且方便修改 另一方面:逐層的設計可以讓負責這一塊的人去了解這一協議,這種分工因此也更加專業而且科學
這些協議集合起來叫做TCP/IP
TCP/IP 是指 TCP 和 IP 這兩種協議,還有一種說法認為,TCP/IP 是在 IP 協議的通信程序中,使用到的協議族的統稱
[2]分層
TCP/IP 協議族按層次分別分為以下 4 層:應用層、傳輸層、網路層和資料鏈路層,

[3]了解主要的一些協議
(一).IP協議
IP(Internet Protocol)網際協議位于網路層
IP地址->MAC地址->MAC地址->IP地址
MAC地址是網卡所屬的固定 中間需要ARP協議
在網路上,通信的雙方在同一局域網(LAN)內的情況是很少的,通常是經過多臺計算機和網路設備中轉才能連接到對方,而在進行中轉時,會利用下一站中轉設備的 MAC地址來搜索下一個中轉目標,這時,會采用 ARP 協議(AddressResolution Protocol),ARP 是一種用以決議地址的協議,根據通信方的 IP 地址就可以反查出對應的 MAC 地址,

(二)·TCP協議
TCP 位于傳輸層,提供可靠的位元組流服務.
->所謂的位元組流服務(Byte Stream Service)是指,為了方便傳輸,將大塊資料分割成以報文段(segment)為單位的資料包進行管理,
而且 TCP 協議能夠確認資料最終是否送達到對方
三次握手策略:
發送端首先發送一個帶 SYN 標志的資料包給對方,接收端收到后,回傳一個帶有 SYN/ACK 標志的資料包以示傳達確認資訊,最后,發送端再回傳一個帶 ACK 標志的資料包,代表“握手”結束,
但也有其他方式來保證通信的可靠性

(三)·DNS協議
DNS(Domain Name System)服務是和 HTTP 協議一樣位于應用層的協議,它提供域名到 IP 地址之間的決議服務,
IP地址是一長串純數字,比較適合計算機去閱讀,而主機名和域名的表示方式更適合人類的記憶 比如:baidu.com
DNS 協議提供通過域名查找 IP 地址,或逆向從 IP 地址反查域名的服務,
[4]協議之間的聯系

每個層級之間相互聯系并且運用了以上的一些協議(有發送和回傳兩個程序)
1.什么是http
hypertext transfer protocol
在網路上電腦間溝通的一種方式,主要用在網頁上
HTTP是一個基于TCP/IP通信協議來傳遞資料(HTML 檔案, 圖片檔案, 查詢結果等)
HTTP協議作業于客戶端-服務端架構上,
2.http方法
主要講的是請求方法

3.HTTP 請求
request

header是一部分額外的資訊
http/1.1 /card是路徑 host 這三者組成一個網址 post是http方法
accepted是接受的型別,content-type是下面傳輸內容的型別
客戶端發送一個HTTP請求到服務器的請求訊息包括以下格式:請求行(request line)、請求頭部(header)、空行和請求資料四個部分組成
4.HTTP 回應
response
HTTP回應也由四個部分組成,分別是:狀態行、訊息報頭、空行和回應正文(有時候是html)

http版本 狀態碼 狀態資訊
header:
server:nginx指的是這個server用的軟體是nginx
cotent-length 是回傳的字符長度
date是回傳的時間
關于回應頭 :可以具體看https://www.runoob.com/http/http-header-fields.html
5.HTTP 狀態碼

300+代表請求錯誤需要轉到其他網址處理
400+代表發送請求的一段錯誤(可能是格式寫錯或者漏寫東西)
500+服務器宕機或者服務器被燒掉了
301表示發送請求的網址已經搬家了
400表示請求的格式錯誤
401表示請求的內容比較敏感,由于沒有驗證碼所以出錯了
403表示內容敏感而且你驗證碼錯誤了
404發送請求的網址不存在
500服務器壞了
6. HTTP 不安全
明文傳輸導致http不安全
網路公開,有人可以竊聽傳輸的資料
所以就出現了https
hypertext transfer protocol secure 超文本傳輸安全協定
SSL/TLS加密
此時傳輸的資料是加密過的
7.查看瀏覽器 HTTP Request & Response
國際域名(.com)從字面上可以知道,是國際的,源于美國,而國內域名(.cn)則來自于中國互聯網資訊中心,
header可以去看https://zh.wikipedia.org/wiki/HTTP%E5%A4%B4%E5%AD%97%E6%AE%B5的介紹或者菜鳥教程
response可以看回傳的html檔案
(f12 network 點開一個傳輸狀態(請求) 可以看header和response)
可能只輸入一個網址卻發送了很多的請求(因為回傳的html中又發送了很多js等請求)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/297112.html
標籤:其他
下一篇:跨域與同源策略
