- 安全測試教程
- 安全測試 - 首頁
- 安全測試 - 概述
- 安全測試 - 流程
- 安全測試 - 惡意軟體
- HTTP 協議基礎
- HTTPS 協議基礎
- 編碼和解碼
- 安全測試 - 密碼學
- 安全測試 - 同源策略
- 安全測試 - Cookie
- 駭客攻擊 Web 應用程式
- 安全測試 - 注入攻擊
- 測試身份驗證漏洞
- 測試跨站指令碼攻擊
- 不安全的直接物件引用
- 測試安全配置錯誤
- 測試敏感資料洩露
- 缺少函式級訪問控制
- 跨站請求偽造
- 存在漏洞的元件
- 未驗證的重定向和轉發
- 安全測試 - Ajax 安全
- 安全測試 - Web 服務
- 安全測試 - 緩衝區溢位
- 安全測試 - 拒絕服務攻擊
- 測試惡意檔案執行
- 安全測試 - 自動化工具
- 安全測試有用資源
- 安全測試 - 快速指南
- 安全測試 - 有用資源
- 安全測試 - 討論
安全測試 - HTTP 響應
HTTP 響應
伺服器在接收和解釋請求訊息後,將返回一個 HTTP 響應訊息:
狀態行
零個或多個報頭(通用|響應|實體)欄位,後跟 CRLF
空行(即,在 CRLF 之前沒有任何內容的行),表示報頭欄位的結束
可選的訊息正文
以下部分解釋了 HTTP 訊息中使用的每個實體:
訊息狀態行
狀態行由協議版本、數字狀態碼及其關聯的文字短語組成。這些元素用空格 SP 字元分隔。
Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
讓我們討論狀態行中提到的每個部分。
HTTP 版本
支援 HTTP 1.1 版本的伺服器將返回以下版本資訊:
HTTP-Version = HTTP/1.1
狀態碼
狀態碼元素是一個三位整數,其中狀態碼的第一位數字定義了響應的類別,後兩位數字沒有任何分類作用。第一位數字有五個值:
| 序號 | 值和描述 |
|---|---|
| 1 | 1xx:資訊性 這意味著請求已收到,正在繼續處理。 |
| 2 | 2xx:成功 這意味著操作已成功接收、理解和接受。 |
| 3 | 3xx:重定向 這意味著必須採取進一步的操作才能完成請求。 |
| 4 | 4xx:客戶端錯誤 這意味著請求包含錯誤的語法或無法完成。 |
| 5 | 5xx:伺服器錯誤 伺服器未能完成明顯有效的請求。 |
HTTP 狀態碼是可擴充套件的,HTTP 應用程式不需要理解所有已註冊狀態碼的含義。
響應報頭欄位
響應報頭欄位允許伺服器傳遞有關響應的附加資訊,這些資訊無法放置在狀態行中。這些報頭欄位提供有關伺服器以及進一步訪問由 Request-URI 標識的資源的資訊。
- Accept-Ranges
- Age
- ETag
- Location
- Proxy-Authenticate
- Retry-After
- Server
- Vary
- WWW-Authenticate
如果您希望編寫自己的自定義 Web 客戶端和伺服器,則可以引入自定義欄位。
響應訊息示例
現在讓我們將所有內容組合在一起,形成從執行在 tutorialspoint.com 上的 Web 伺服器獲取hello.htm頁面的請求的 HTTP 響應。
HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
Content-Length: 88
Content-Type: text/html
Connection: Closed
<html>
<body>
<h1>Hello, World!</h1>
</body>
</html>
以下是一個 HTTP 響應訊息示例,顯示當 Web 伺服器找不到請求的頁面時的錯誤情況:
HTTP/1.1 404 Not Found
Date: Sun, 18 Oct 2012 10:36:20 GMT
Server: Apache/2.2.14 (Win32)
Content-Length: 230
Connection: Closed
Content-Type: text/html; charset = iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
<head>
<title>404 Not Found</title>
</head>
<body>
<h1>Not Found</h1>
<p>The requested URL /t.html was not found on this server.</p>
</body>
</html>
以下是一個 HTTP 響應訊息示例,顯示當 Web 伺服器在給定的 HTTP 請求中遇到錯誤的 HTTP 版本時的錯誤情況:
HTTP/1.1 400 Bad Request
Date: Sun, 18 Oct 2012 10:36:20 GMT
Server: Apache/2.2.14 (Win32)
Content-Length: 230
Content-Type: text/html; charset = iso-8859-1
Connection: Closed
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
<head>
<title>400 Bad Request</title>
</head>
<body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<p>
<p>The request line contained invalid characters following the protocol string.<p>
</body>
</html>
http_protocol_basics.htm
廣告