瀏覽器訪問網站的基本流程:
1、用戶輸入網址
2、瀏覽器請求DNS服務器,獲取域名對應的IP地址(DNS服務器就是有該網路中所有域名和對應主機號的可以轉換的一種服務器)
3、請求連接該IP地址的服務器
4、發送資源請求(遵循HTTP協議)
5、web服務器接收到請求,決議請求,判斷用戶意圖
6、獲取用戶想要的資源(從web服務器連接的資料庫中獲取)
7、將資源回傳給http服務器程式
8、http服務器將資源資料通過網路發送給瀏覽器
9、瀏覽器決議呈現請求的資料
http協議簡介:
Http協議就是超文本傳輸協議,就是瀏覽器與web服務器傳輸資料格式的協議,HTTP協議是一個應用層協議,
HTTP協議是基于TCP協議的,發送資料之前要建立好連接(TCP傳輸控制協議,是一種面向連接的、可靠的、基于位元組流的傳輸層通信協議)
HTTP是萬維網的資料通信基礎,設計HTTP最初的目的是為了提供一種發布和接收HTML頁面的方法
http請求報文格式:
1、請求行[請求方法 資源路徑 版本\r\n] GET /index.html HTTP/1.1\r\n ?
2、請求頭[頭名: 頭值\r\n] Host: localhost ?
3、空行 [\r\n] "\r\n" ?
4、請求體[瀏覽器給服務器發送的資料]
記住格式即可:
POST / HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Content-Length: 41
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: null
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
username=laozhuang&password=sasjdnflkjdsg 請求體 客戶端提交的資料
http回應報文格式:
1、回應行[版本 狀態碼 說明\r\n] 必須有,HTTP/1.1 200 OK\r\n
2、回應頭[頭名: 頭值\r\n] Content-Type: text/html;charset=utf-8\r\n Server: BWS/1.1\r\n
3、空行[\r\n] "\r\n"
4、回應體[html文本或者資源資料, 即網頁內容]
也是記住格式就成:
HTTP/1.1 200 OK 回應行
協議版本 HTTP/1.1
狀態碼
2xx 成功 200 OK
3xx 重定向
4xx 客戶端錯誤 404 Not Found
5xx 服務器錯誤 503 Service Unavailable
狀態說明
HTTP
Cache-Control: private 回應頭
快取控制命令
Content-Encoding: gzip
相應的內容是壓縮的,通過gzip
Content-Type: text/html;charset=utf-8
回應體的型別:網頁編碼utf-8
Date: Fri, 06 Apr 2018 09:05:27 GMT
日期 東八區時間
服務器回復回應報文的時間 -- 格林威治時間
Server: BWS/1.1
服務器名稱
分割符"\r\n" 空行
網頁內容 回應體
TCP/IP模型的三次握手與四次揮手:(了解即可)
http協議是基于TCP/IP協議,瀏覽器與服務器建立連接時,發生三次握手:



瀏覽器與服務器斷開連接時,發生四次揮手:


OSI七層模型(了解即可)
OSI七層模型,是國際標準化組織(ISO)制定的一種用于計算機或者通信系統間互聯的標準體系,簡單來說,就是兩臺計算機之間進行通信的時候,經歷了那些作業

了解完網路基礎,下一步就要理解Ajax的請求資料方式了,下一篇就寫!
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/298326.html
標籤:其他
