URI 用字符串標識某一互聯網資源,而 URL 表示資源的地點(互聯 網上所處的位置)。可見 URL 是 URI 的子集。html
//URI絕對格式 http://user:pass@www.example.jp:80/dir/index.html?uid=1#ch1 <-! 方案名://登陸信息@服務器地址:端口號/文件路徑?查詢字符#片斷標識符 > https://blog.csdn.net/weixin_39780047/article/details/88850857 <協議>://<host>:<port>/<路徑>
省略路徑時,默認指向主頁web
http1.0是無狀態的,每次訪問數據時都要進行tcp的鏈接和釋放。http1.1以後採用持續鏈接方式,tcp鏈接在完成請求後依然保留一段時間,可重複使用瀏覽器
代理服務器將最近的一些請求和響應暫存在本地中。當新請求到到達時,若代理服務器中包含相同資源,則返回暫存的請求響應。不然經過因特網獲取請求響應並複製一份在本地(緩存服務器)緩存
使用代理服務器的理由安全
利用緩存技術(稍後講解)減小網絡帶寬 的流量,組織內部針對特定網站的訪問控制,以獲取訪問日誌爲主要 目的,等等。服務器
http分爲請求報文和響應報文
cookie
1** | 通知信息 |
---|---|
2** | 表示成功 |
3** | 重定向,還須要採起進一步行動 |
4** | 客戶端錯誤,語法錯誤活沒法完成請求 |
5** | 服務器錯誤,服務器在處理過程當中發送生錯誤 |
常見狀態:網絡
首部字段名 | 說明 |
---|---|
Cache-Control | 控制緩存的行爲 |
Connection | 逐跳首部、鏈接的管理 |
Date | 建立報文的日期時間 |
Pragma | 報文指令 |
Trailer | 報文末端的首部一覽 |
Transfer-Encoding | 指定報文主體的傳輸編碼方式 |
Upgrade | 升級爲其餘協議 |
Via | 代理服務器的相關信息 |
Warning | 錯誤通知 |
請求首部字段tcp
首部字段名 | 說明 |
---|---|
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 | 實體的字節範圍請求 |
Referer | 對請求中 URI 的原始獲取方 |
TE | 傳輸編碼的優先級 |
User-Agent | HTTP 客戶端程序的信息 |
響應首部字段性能
首部字段名 | 說明 |
---|---|
Accept-Ranges | 是否接受字節範圍請求 |
Age | 推算資源建立通過時間 |
ETag | 資源的匹配信息 |
Location | 令客戶端重定向至指定URI |
Proxy-Authenticate | 代理服務器對客戶端的認證信息 |
Retry-After | 對再次發起請求的時機要求 |
Server | HTTP服務器的安裝信息 |
Vary | 代理服務器緩存的管理信息 |
WWW-Authenticate | 服務器對客戶端的認證信息 |
實體首部字段
cookie
經常使用端口:443
HTTP+ 加密 + 認證 + 完整性保護 =HTTPS
Comet——保留響應
SPYD
SPDY 沒有徹底改寫 HTTP 協議,而是在 TCP/IP 的應用層與運輸層之 間經過新加會話層的形式運做。同時,考慮到安全性問題,SPDY 規 定通訊中使用 SSL。
WebSocket
一旦 Web 服務器與客戶端之間創建起 WebSocket 協議的通訊鏈接, 以後全部的通訊都依靠這個專用協議進行。通訊過程當中可互相發送 JSON、XML、HTML 或圖片等任意格式的數據。 因爲是創建在 HTTP 基礎上的協議,所以鏈接的發起方還是客戶端, 而一旦確立 WebSocket 通訊鏈接,不論服務器仍是客戶端,任意一方 均可直接向對方發送報文。
爲了實現 WebSocket 通訊,須要用到 HTTP 的 Upgrade 首部字 段,告知服務器通訊協議發生改變,以達到握手的目的
特色
Web 應用端(服務器端)的驗證
遠程文件包含漏洞
思惟導圖
用單臺虛擬主機實現多個域名
提 供 Web 託管服務(Web Hosting Service)的供應商,能夠用一臺服務 器爲多位客戶服務,也能夠以每位客戶持有的域名運行各自不一樣的網 站。這是由於利用了虛擬主機(Virtual Host,又稱虛擬服務器)的功 能。
位於同一臺服務器上的web服務器通過域名轉換後,IP地址相同。所以在發送HTTP請求的時候,必須在host首部內完整指出主機名或域名的URI。
[x] URL和URI的區別
URL:(Uniform/Universal Resource Locator 的縮寫,統一資源定位符)
URI:(Uniform Resource Identifier 的縮寫,統一資源標識符)(表明一種標準)。
URI 屬於 URL 更高層次的抽象,一種字符串文本標準。
URL是一種具體的URI,它是URI的一個子集,它不只惟一標識資源,並且還提供了定位該資源的信息。URI 是一種語義上的抽象概念,能夠是絕對的,也能夠是相對的,而URL則必須提供足夠的信息來定位,是絕對的。
GET | POST | |
---|---|---|
回退時 | 無害 | 再次請求 |
cache | 會 | 須要手動設置 |
編碼 | URL | 多種編碼 |
瀏覽器歷史記錄 | 保留 | 不保留 |
長度限制 | 受瀏覽器限制 | 無 |
參數數據類型 | ASCII | 任意 |
傳遞方式 | URL | request body |
傳輸數據包 | 1個 | 2個 |
二者本質上都是採用TCP協議進行傳輸,所以在傳輸過程當中沒有差別
[x] 冪等請求
HTTP冪等方法,是指不管調用這個url多少次,都不會有不一樣的結果的HTTP方法。
HTTP GET方法用於獲取資源,不該有反作用,因此是冪等的。 GET請求可能會每次獲得不一樣的結果,但它自己並沒有產生任何反作用,於是是知足冪等性的。
調用屢次的結果和調用一次的結果一致,如DELETE調用一次刪除指定資源,再次調用不管該資源是否存在,依然刪除該資源。所以其是冪等