天天看點

關于Nginx的一些你不得不知道的内容(HTTP協定基礎知識),内容比較多建議收藏哦HTTP協定基礎知識

  • 關于Nginx的一些你不得不知道的内容(HTTP協定基礎知識),内容比較多建議收藏哦HTTP協定基礎知識

HTTP協定基礎知識

1. IP 和端口

  IP是配置設定給網卡的位址,用來找到網絡上的一台裝置,實作互相通信。

  IP的格式是四個8位的二進制整數,可以轉換成0-255的十進制數字。

  因為接入網絡的裝置越來越多,IPV4不夠用了,是以現在又誕生了 IPV6。

  隻有IP還不夠,因為一個裝置上運作的程式很多,如果要找到指定的程式,必須給

每個程式配置設定一個端口。端口的範圍是0到65535。

  比如FTP服務的21端口,HTTP服務的80端口, MySQL預設3306端口,Redis默

認6379端口。

2.URL的組成?

  因為IP端口對于使用者來說非常難以識别和記憶,是以我們又發明了域名(Domain Name) o因為域名是唯一的,而且會包含一些特殊含義,域名資源也非常珍貴,早年就 有人靠炒域名發了家。

  我們在浏覽器輸入域名,就會自動地轉換成IP,通路到相應的伺服器。這個把域名 轉換成IP的系統叫做DNS (Domain Name Server),域名解析服務。

URL的格式:

https://www. baidu.com
https://map.baidu.com      

包括幾項:

  協定,比如FTP、HTTP、HTTPS等等。

  子域名,頂級域名的字首,其實WWW就是一個約定俗成的二級域名,也叫子域名, 子域名可以有多級,比如QQ空間的位址,就是二級子域名:

https://user.qzone.qq.com/694100510

  域名類型,比如.com、.net、・cn等等,是不同的組織機構管理的。

  端口号,如果不寫的話就是預設端口,比如HTTP的80端口,HTTPS的443端口。 後面就是資源路徑和參數。

3.HTTP協定有什麼特點?

  簡單快速:格式簡單,通信快速

  靈活:傳輸資料類型豐富

  無連接配接:收到應答斷開連接配接

  無狀态:不需要先前的資訊,cookie, sessiono

4.HTTP協定的請求格式是什麼樣的?

主要包括:請求行(request line).請求頭(header) s空行和請求資料

GET /item/bobo/23753047?fr-aladdin HTTP/1.1
Host: baike.baidu.com
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/57.0.2987.98 Safan/537.36 LBBROWSER
Accept: text/htmLapplication/xhtml+xmLapplication/xml;q=0.9,image/webp,*/*;q=0.8
Refer er: https://www.baidu.com/link?url=WiJWxlZKtr&wd=&eqid=86b000
Accept-Encoding: gzip, deflate, sdch, br
Accept-Laiiguage: zh-CN,zh;q=0.8
Cookie: BAIKE_SHITONG=%7B%22dBAIA18d7c93a=1609302264      

body沒寫,POST會攜帶請求資料。

5.HTTP協定的請求類型有哪些?

  • GET:請求指定的頁面資訊,并傳回實體主體。
  • HEAD:類似于GET請求,隻不過傳回的響應中沒有具體的内容,用于擷取報頭。
  • POST:向指定資源送出資料進行處理請求,資料被包含在請求體中。
  • PUT:從用戶端向伺服器傳送的資料取代指定的文檔的内容。
  • DELETE:請求伺服器删除指定的頁面。
  • CONNECT: HTTP/1.1協定中預留給能夠将連接配接改為管道方式的代理伺服器。
  • OPTIONS:允許用戶端檢視伺服器的性能。
  • TRACE:回顯伺服器收到的請求,主要用于測試或診斷。

6.HTTP協定的響應格式是什麼樣的?

主要包括:狀态行、消息頭、空行和響應正文

HTTP/1.1 200 OK
Connection: keep-alive
Content-Encoding: deflate
Content-Security-Policy-Report-Only: default-src https: Unsafe-inline1 iinsafe-evaf data: blob: ; report-uri https://reports.baidu.com/cspTeport/baike
Content-Type: text/html; charset=UTF-8
Date: Wed, 30 Dec 2020 04:57:22 GMT
Server: Apache
Set-Cookie:BDUSS_BFESS=ZoWHk4VlQxVllseGs5dXVary: Accept-Encoding
Transfer-Encoding: chunked      

響應的body省略。

7. HTTP格式響應狀态碼有哪些?

響應碼 類型 含義
1XX Informational (資訊性狀态碼) 收的請求正在處理
2XX Success (成功狀态碼) 請求正常處理完畢
3XX Redirection (重定向狀态碼) 需要進行附加操作以完成請求
4XX Client Error (用戶端錯誤狀态碼) 伺服器無法處理請求
5XX Server Error (伺服器錯誤狀态碼) 伺服器處理請求出錯

8.請求、響應的Header字段有哪些?

https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

通用Header字段

字段
Cache-Control 控制緩存的行為
Connection 控制不再轉發給代理的首部字段、管理持久連接配接
Date 建立封包的日期時間
Pragma 封包指令
Trailer 封包末端的首部一覽
Transfer-Encoding 指定封包主體的傳輸編碼方式
Upgrade 更新為其他協定
Via 代理伺服器的相關資訊
Warning 錯誤通知

請求Header字段

Accept 使用者代理可處理的媒, 本類型
Accept-Charset 優先的字元集
Accept-Encoding 優先的内容編碼
Accept-Language 優先的語言(自然語言)
Authorization Web認證資訊
Expect 期待伺服器的特定行為
From 使用者的電子郵箱位址
Host 請求資源所在伺服器
If-Match 比較實體标記(ETag)
If-Modified-Since 比較資源的更新時間
If-None-Match 比較實體标記(與If-Match相反)
If-Range 資源未更新時發送實, '本Byte的範圍請求
If-Unmodified-Since 比較資源的更新時間(與If-Modified-Since相反)
Max-Forwards 最大傳輸逐跳數
Proxy-Authorization 代理伺服器要求用戶端的認證資訊
Range 實4 本的位元組範圍請求
Referer
TE 傳輸編碼的優先級
User-Agent HTTP用戶端程式的資訊

響應頭 Header

Accept-Ranges 是否接受位元組範圍請求
Age 推算資源建立經過時間
ETag 資源的比對資訊
Location 令用戶端重定向至指定URI
Proxy-Authenticate 代理伺服器對用戶端的認證資訊
Retry-After 對再次發起請求的時機要求
Server HTTP伺服器的安裝資訊
Vary 代理伺服器緩存的管理資訊
WWW-Authenticate 伺服器對用戶端的認證資訊

實體 Header

請求消息和響應消息都可以包含實體資訊。

Allow 資源可支援的HTTP方法
Content-Encoding 實體主體适用的編碼方式
Content-Language 實體主體的自然語言
Content-Length 實體主體的大小
Content-Location 替代對應資源的URI
Content-MD5 實體主體的封包摘要
Content-Range 實體主體的位置範圍
Content-Type 實體主體的媒體類型
Expires 實體主體過期的日期時間
Last-Modified 資源的最後修改日期時間

好了這塊内容就給大家講解到這兒,下篇開始講解Nginx的安裝操作!!!

繼續閱讀