- 安全測試教程
- 安全測試 - 首頁
- 安全測試 - 概述
- 安全測試 - 流程
- 安全測試 - 惡意軟體
- HTTP 協議基礎
- HTTPS 協議基礎
- 編碼和解碼
- 安全測試 - 密碼學
- 安全測試 - 同源策略
- 安全測試 - Cookie
- 駭客攻擊 Web 應用程式
- 安全測試 - 注入
- 測試身份驗證漏洞
- 測試跨站指令碼攻擊
- 不安全的直接物件引用
- 測試安全配置錯誤
- 測試敏感資料洩露
- 缺少函式級訪問控制
- 跨站請求偽造
- 存在漏洞的元件
- 未經驗證的重定向和轉發
- 安全測試 - Ajax 安全
- 測試安全 - Web 服務
- 安全測試 - 緩衝區溢位
- 安全測試 - 拒絕服務
- 測試惡意檔案執行
- 安全測試 - 自動化工具
- 安全測試有用資源
- 安全測試 - 快速指南
- 安全測試 - 有用資源
- 安全測試 - 討論
安全測試 - HTTP 引數
HTTP 引數
這裡我們將討論一些重要的 HTTP 協議引數及其語法,這些引數在編寫 HTTP 客戶端或伺服器程式時構建請求和響應訊息時是必需的。在後續章節中,我們將在解釋 HTTP 請求和響應的訊息結構時,涵蓋這些引數的完整用法。
HTTP 版本
HTTP 使用<主版本>.<次版本>編號方案來指示協議的版本。HTTP 訊息的版本由第一行中的 HTTP-Version 欄位指示。以下是指定 HTTP 版本號的一般語法:
HTTP-Version = "HTTP" "/" 1*DIGIT "." 1*DIGIT
示例
HTTP/1.0 or HTTP/1.1
統一資源識別符號 (URI)
URI 只是一個格式化的、不區分大小寫的字串,包含名稱、位置等資訊以識別資源。例如,網站名稱、Web 服務等。HTTP 使用的 URI 的一般語法如下:
URI = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]
這裡,如果埠為空或未給出,則 HTTP 假設埠為 80,並且空絕對路徑等效於“/”的絕對路徑。除了保留和不安全集中的字元外,其他字元等效於其“%”HEX HEX”編碼。
示例
以下三個 URI 等效:
http://abc.com:80/~smith/home.html http://ABC.com/%7Esmith/home.html http://ABC.com:/%7esmith/home.html
日期/時間格式
所有 HTTP 日期/時間戳必須以格林威治標準時間 (GMT) 表示,無一例外。HTTP 應用程式允許使用以下三種日期/時間戳表示形式中的任何一種:
Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123 Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036 Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format
字元集
您可以使用字元集來指定客戶端首選的字元集。可以使用逗號分隔多個字元集。如果未指定值,則預設為 US-ASCII。
示例
以下字元集有效:
US-ASCII or ISO-8859-1 or ISO-8859-7
內容編碼
內容編碼值表示在透過網路傳遞內容之前,使用編碼演算法對內容進行編碼。內容編碼主要用於允許壓縮文件或以其他有用的方式進行轉換,而不會丟失身份。
所有內容編碼值不區分大小寫。HTTP/1.1 在 Accept-Encoding 和 Content-Encoding 標頭欄位中使用內容編碼值。
示例
以下是有效的編碼方案:
Accept-encoding: gzip or Accept-encoding: compress or Accept-encoding: deflate
媒體型別
HTTP 在Content-Type和Accept標頭欄位中使用 Internet 媒體型別,以便提供開放且可擴充套件的資料型別和型別協商。所有媒體型別值均在 Internet Assigned Number Authority ((IANA) 中註冊。以下一般語法指定媒體型別:
media-type = type "/" subtype *( ";" parameter )
型別、子型別和引數屬性名稱不區分大小寫。
示例
Accept: image/gif
語言標籤
HTTP 在Accept-Language和Content-Language欄位中使用語言標籤。語言標籤由 1 個或多個部分組成:一個主要語言標籤和一個可能為空的子標籤序列:
language-tag = primary-tag *( "-" subtag )
標籤內不允許使用空格,所有標籤都不區分大小寫。
示例
示例標籤包括:
en, en-US, en-cockney, i-cherokee, x-pig-latin
其中任何兩個字母的主要標籤都是 ISO-639 語言縮寫,任何兩個字母的初始子標籤都是 ISO-3166 國家程式碼。