`showproducts.aspx?id=` 是 **HTTP GET 請求** 的 URL 格式,包含:
查看產品 1001
查看產品 1002 (分類: electronics)
| 技術 | 代碼 |
|---|---|
| Web Forms (.aspx.cs) | `string id = Request.QueryString["id"];` 或 `Request["id"]` |
| MVC Controller | `public ActionResult ShowProducts(string id) { ... }` (模型繫結自動映射) |
| Generic Handler (.ashx) | `string id = context.Request.QueryString["id"];` |
| ASP.NET Core | `string id = Request.Query["id"];` 或 `[FromQuery] string id` |
| 特性 | GET (QueryString) | POST (Form Body) |
|---|---|---|
| 參數位置 | URL (`?id=1001`) | HTTP Body |
| 可見性 | 地址列可見、可收藏、可分享 | 地址列不可見 |
| 長度限制 | 約 2000 字元 (瀏覽器/伺服器限制) | 理論無限制 (伺服器設定) |
| 資料類型 | 純文字 | 文字、檔案、二進位、JSON |
| 安全性 | 敏感資料**勿用** (記錄在日誌/歷史/Referer) | 相對安全 (仍需 HTTPS) |
| 冪等性 | 適合查詢、導航、冪等操作 | 適合新增、修改、刪除、非冪等 |
GET/POST 詳細差異:HTTP GET vs POST 完整解析
`showproducts.aspx?id=` 代表 **GET 請求傳遞名為 `id` 的參數**。伺服器端透過 `Request.QueryString["id"]` 接收。適合產品詳情頁、分頁、搜尋等**可收藏、可分享、冪等查詢**場景。敏感資料 (密碼、Token) **嚴禁** 放在 QueryString。