# .http 檔案格式

本頁說明解析器（Parser）如何切分請求區塊、辨識請求行與略過註解；Header 與 Body 的判定見 [Header 與 Body](/zh/http-file-format-headers-body)。

## 請求區塊

每個請求以單獨一行 `###` 結束並加入清單；`### 名稱` 這一行只定義**下一個**請求在左欄顯示的名稱，**不會**結束目前請求。檔案結尾時未結束的請求也會被收錄。

沒有 Body 的請求若未以單獨一行 `###` 結束就遇到下一個請求行，會被直接丟棄，因此每個請求後都應寫一行 `###`（見 [已知限制](/zh/known-limitations)）。

```http
### Create Post
POST https://jsonplaceholder.typicode.com/posts
Content-Type: application/json

{
  "title": "Test Post",
  "userId": 1
}

###
```

未寫 `### 名稱` 的請求，左欄名稱為空字串。

## 請求行

請求行須符合 `^(GET|POST|PUT|DELETE|PATCH|HEAD|OPTIONS)\s+(.+)$`：

| 規則 | 說明 |
|------|------|
| 方法 | 僅限上述 7 個，且必須大寫；`get` 不會被辨識 |
| URL | 方法後的**整段剩餘文字**；行尾若寫 `HTTP/1.1` 會被併入 URL |
| 位置 | 遇到請求行即開始新請求，Header 與 Body 狀態重設 |

## 註解

不在 Body 內時，以 `#`（但非 `###`）、`//`、`--` 開頭的行與空行皆略過。進入 Body 後這些字元視為內容，不再當作註解。
