
Tóm tắt nhanh
- RFC 9457 là tiêu chuẩn xử lỗi HTTP API mới nhất được IETF xuất bản năm 2023
- Cloudflare bắt đầu áp dụng RFC 9457 từ tháng 03/2026 cho tất cả các phản hồi lỗi 1xxx
- Giảm 98% chi phí token so với HTML truyền thống
- Trả về các phản hồi có cấu trúc:
text/markdown,application/json,application/problem+json - Cung cấp hướng dẫn hành động cụ thể cho AI agents thay vì chỉ thông báo lỗi
- Tự động áp dụng trên toàn mạng lưới Cloudflare, không cần cấu hình thêm
Bạn có biết rằng mỗi khi AI agents gặp lỗi trên mạng, chúng thường nhận về những trang HTML rối rắm không hề có ý nghĩa gì với chúng? Đó là một vấn đề lớn đối với các AI agents đang ngày càng trở nên phổ biến trong việc duyệt web và gọi API.
Năm 2026, Cloudflare đã đưa ra một giải pháp đột phá: áp dụng RFC 9457 để trả về các phản hồi lỗi có cấu trúc cho AI agents. Điều này không chỉ giúp các AI agents hiểu được chuyện gì đang xảy ra mà còn giảm chi phí xử lý tới 98% so với các trang HTML truyền thống [1].
RFC là gì?
RFC (Request for Comments) là một loại tài liệu kỹ thuật chính thống trong cộng đồng Internet. Mỗi RFC được xuất bản bởi Internet Engineering Task Force (IETF) và chứa định nghĩa các tiêu chuẩn, giao thức hoặc phương pháp kỹ thuật mới cho Internet [2].
Các RFC đóng vai trò quan trọng trong việc đảm bảo tính tương thích giữa các thiết bị và hệ thống khác nhau trên toàn cầu. Từ cách hoạt động của email (RFC 5322) đến cách các trang web giao tiếp với nhau (RFC 2616 – HTTP/1.1), tất cả đều có nguồn gốc từ các RFC.
Quy trình xuất bản RFC thường bắt đầu từ một ý tưởng được đề xuất dưới dạng “Request for Comments”, sau đó được thảo luận, hoàn thiện và cuối cùng được chính thức hóa thành tiêu chuẩn. RFC 9457 là một ví dụ điển hình, được xuất bản vào năm 2023 để giải quyết vấn đề xử lý lỗi trong HTTP APIs.
RFC 9457 là gì?
RFC 9457 (tên đầy đủ: “Problem Details for HTTP APIs”) là một tiêu chuẩn kỹ thuật được IETF xuất bản vào năm 2023, định nghĩa một định dạng chuẩn hóa để trả về các lỗi trong các API HTTP [3].
Trước khi có RFC 9457, mỗi API thường tự định nghĩa cách riêng để trả về lỗi, khiến cho các client (như AI agents) phải viết nhiều mã code khác nhau để xử lý từng loại lỗi. Điều này dẫn đến sự mất thời gian và không hiệu quả khi xử lý lỗi.
RFC 9457 giải quyết vấn đề này bằng cách đưa ra một định dạng JSON chuẩn hóa mà bất kỳ client nào cũng có thể hiểu được. Các trường chính bao gồm:
type- Một URI trỏ đến tài liệu mô tả loại lỗi cụ thể (ví dụ: Cloudflare’s documentation cho error code 1015)
status- Mã trạng thái HTTP (ví dụ: 429 cho rate limit)
title- Tiêu đề ngắn, dễ đọc mô tả vấn đề
detail- Giải thích chi tiết về lỗi cụ thể này
instance- Một identifier duy nhất cho lỗi cụ thể này (ví dụ: Ray ID trong Cloudflare)
Các trường mở rộng (extension members) có thể được thêm vào để cung cấp thông tin chuyên sâu, như retryable, retry_after, owner_action_required—nhưng những client không nhận diện được có thể bỏ qua chúng một cách an toàn.
Bài toán của AI agents khi gặp lỗi
AI agents hiện đại đang trở thành hạ tầng production, thực hiện hàng tỷ requests HTTP mỗi ngày để duyệt web, gọi API và orchestrate các workflow phức tạp. Tuy nhiên, khi gặp lỗi, chúng thường nhận được các trang HTML được thiết kế cho con người—với hàng trăm dòng markup, CSS và văn bản mà AI agents không thể hiểu hiệu quả.
Một trang HTML lỗi điển hình có thể chứa hơn 200 dòng CSS và nhiều dòng markup. Điều này gây lãng phí đáng kể token và thời gian xử lý cho AI agents, vì chúng phải parse HTML để tìm thông tin lỗi, và thông tin đó không được cấu trúc rõ ràng—chỉ là “gợi ý” chứ không phải “chỉ dẫn”.

Giải pháp của Cloudflare với RFC 9457
Vào tháng 03/2026, Cloudflare đã triển khai cập nhật toàn mạng lưới: khi một AI agent gửi header Accept: text/markdown, Accept: application/json, hoặc Accept: application/problem+json và gặp lỗi, Cloudflare sẽ trả về một phản hồi có cấu trúc theo RFC 9457 thay vì HTML truyền thống [1].
Điều này áp dụng cho tất cả các lỗi 1xxx-class (lỗi phía edge của Cloudflare như DNS resolution issues, access denials, rate limits). Trong tương lai gần, các lỗi 4xx và 5xx cũng sẽ được hỗ trợ.
Quan trọng nhất: site owners không cần cấu hình gì thêm. Trình duyệt vẫn nhận HTML như trước, chỉ có các client yêu cầu định dạng có cấu trúc mới nhận được JSON/Markdown.

Các định dạng phản hồi lỗi có cấu trúc
Cloudflare hỗ trợ ba định dạng khác nhau, tất cả đều tuân theo RFC 9457:
text/markdown: Trả về nội dung Markdown với YAML frontmatter chứa các trường máy đọc được (machine-readable fields). Định dạng này tối ưu cho AI agents vốn xử lý văn bản tốt.application/json: JSON object thuần túy với các trường phẳng (flat object). Phù hợp với các hệ thống muốn parse dễ dàng.application/problem+json: Theo đúng RFC 9457, dùng content type đặc biệt này để biểu thị đây là Problem Details.
Cả ba đều chứa cùng một thông tin, chỉ khác định dạng. YAML frontmatter trong Markdown có dạng:
--- error_code: 1015 error_name: rate_limited retryable: true retry_after: 30 ---
Ví dụ thực tế: Error 1015 Rate Limit
Khi một AI agent bị rate limit (lỗi 1015), thay vì nhận một trang HTML khổng lồ, nó nhận được JSON có cấu trúc rõ ràng:
{
"type": "https://developers.cloudflare.com/support/troubleshooting/http-status-codes/cloudflare-1xxx-errors/error-1015/",
"title": "Error 1015: You are being rate limited",
"status": 429,
"detail": "You are being rate-limited by the website owner's configuration.",
"instance": "9d99a4434fz2d168",
"error_code": 1015,
"error_name": "rate_limited",
"error_category": "rate_limit",
"ray_id": "9d99a4434fz2d168",
"timestamp": "2026-03-09T11:11:55Z",
"zone": "",
"cloudflare_error": true,
"retryable": true,
"retry_after": 30,
"owner_action_required": false,
"what_you_should_do": "**Wait and retry.** This block is transient. Wait at least 30 seconds, then retry with exponential backoff.\n\nRecommended approach:\n1. Wait 30 seconds before your next request\n2. If rate-limited again, double the wait time (60s, 120s, etc.)\n3. If rate-limiting persists after 5 retries, stop and reassess your request pattern",
"footer": "This error was generated by Cloudflare on behalf of the website owner."
}
Quan sát các trường quan trọng:
retryable: true— agent biết có thể thử lạiretry_after: 30— thời gian chờ cụ thể (giây)what_you_should_do— hướng dẫn hành động rõ ràngowner_action_required: false— không cần người can thiệp
Lợi ích cụ thể cho AI agents
Việc chuyển đổi sang RFC 9457 mang lại những lợi ích thiết thực:
- Giảm 98% token usage — Một phản hồi lỗi 1015 dạng HTML có thể lên đến >10.000 ký tự, trong khi JSON chỉ ~200 ký tự [1]. Với hàng tỷ requests, đây là lượng token tiết kiệm khổng lồ.
- Parsing dễ dàng — JSON/YAML là các định dạng machine-friendly, không cần scraping HTML.
- Hành động rõ ràng — Trường
retryablevàwhat_you_should_docung cấp chuỗi hành động cụ thể thay vì chỉ nói “You were blocked”. - Tính ổn định — Schema ổn định theo thiết kế, không bị ảnh hưởng bởi thay đổi UI/presentation của Cloudflare.
- Cross-platform — Bất kỳ client nào hiểu RFC 9457 (Problem Details) đều có thể parse được base members.
Đối với các AI agents đang chạy workflows phức tạp, việc có error response có cấu trúc nghĩa là chúng có thể:
- Tự động áp dụng backoff khi gặp
retryable: true - Dừng lại và escalate khi
owner_action_required: true - Ghi log với
ray_idđể trace chính xác lỗi - Quyết định reroute qua proxy khác nếu cần

Để hiểu rõ hơn về cách AI agents xử lý các phản hồi, bạn có thể tham khảo bài Claude vs GPT vs Gemini 2026: So Sánh 3 AI Mạnh Nhất [Internal]. Cũng như bài về Google AI Overviews: Tỷ Lệ Trích Dẫn Từ Top 10 Giảm Mạnh để thấy cách các search engines hiện đại xử lý cấu trúc dữ liệu [Internal].
Triển khai & Kế hoạch mở rộng
Tính năng này đã được triển khai trên toàn bộ mạng lưới Cloudflare từ tháng 03/2026. Có một số điểm cần lưu ý:
- Tự động — Không cần bật/tắt cấu hình nào.
- Additive — Chỉ áp dụng khi client yêu cầu Accept header phù hợp. Nếu không gửi Accept header hoặc gửi
text/html, vẫn nhận HTML cũ. - Phạm vi hiện tại — Chỉ các lỗi 1xxx (edge-side failures).
- Tương lai — Cloudflare đã thông báo sẽ mở rộng sang 4xx và 5xx errors.
Đây là một bước đệm quan trọng hướng tới “agentic web”: web được thiết kế cho cả con người và AI agents, với các phản hồi được tối ưu cho từng loại client.
Hướng dẫn cho Developers
Nếu bạn đang xây dựng AI agents hoặc hệ thống tự động, đây là cách tận dụng RFC 9457:
- Thêm Accept headers — Luôn gửi
Accept: application/problem+jsonhoặcAccept: application/jsonđể nhận phản hồi có cấu trúc. - Parse RFC 9457 members — Đọc các trường
type,status,detail. Các trường mở rộng nhưretryablevàretry_afterlà optional nhưng hữu ích. - Xử lý graceful — Nếu client không nhận diện được extension members, bỏ qua an toàn vì chúng là optional.
- Logging — Lưu
instance(Ray ID) để trace khi cần hỗ trợ. - Backoff logic — Khi
retryable: true, chờretry_aftergiây trước khi retry. Nếuretry_afterkhông có, dùng exponential backoff mặc định.
Lưu ý: RFC 9457 là một tiêu chuẩn mở, bất kỳ API server nào cũng có thể triển khai. Cloudflare là một trong những người tiên phong áp dụng rộng rãi.
Tương lai của RFC 9457
RFC 9457 đang trở thành một tiêu chuẩn được chấp nhận rộng rãi trong cộng đồng API-first. Triển khai của Cloudflare là một bước lớn vì nó:
- Chứng minh giá trị thực tế của RFC 9457 trong quy mô lớn
- Thúc đẩy adoption trên toàn web — các developers thấy rõ lợi ích
- Tạo ra một “contract” mới giữa servers và AI agents
Trong tương lai, chúng ta có thể thấy:
- Standardization của các extension fields — Các trường như
retryable,retry_aftercó thể được phổ biến hơn. - Support từ nhiều providers — AWS, Google Cloud, Azure có thể triển khai tương tự.
- Client libraries — Các HTTP client libraries sẽ tích hợp sẵn support cho RFC 9457.
- Rich metadata — Thêm các trường như
debug_trace_id,support_url,documentation_url.
Đối với các doanh nghiệp Việt Nam xây dựng API, đây là thời điểm xem xét triển khai RFC 9457 để tối ưu hóa trải nghiệm cho cả khách hàng con người và các integrations tự động.
Bạn đã sẵn sàng cho web agentic chưa? Hãy chia sẻ ý kiến của bạn về RFC 9457 và cách nó ảnh hưởng đến hệ thống của bạn!
Nguồn tham khảo
- Cloudflare Blog: Slashing agent token costs by 98% with RFC 9457-compliant error responses (2026)
- Wikipedia: Request for Comments (RFC)
- RFC 9457: Problem Details for HTTP APIs (IETF, 2023)
- MDN Web Docs: HTTP response status codes
- RFC 7807: Problem Details for HTTP APIs (predecessor, 2016)
- Cloudflare Docs: 1xxx error codes
Các câu hỏi thường gặp
RFC 9457 là gì và nó khác RFC 7807 như thế nào?
RFC 9457 là phiên bản cập nhật của RFC 7807 (2016). Cả hai đều định nghĩa “Problem Details for HTTP APIs”, nhưng RFC 9457 bổ sung các cải tiến như hỗ trợ multiple problem details, và làm rõ các trường mở rộng. RFC 9457 cũng thêm ví dụ về cách sử dụng với content negotiation.
Cloudflare áp dụng RFC 9457 cho những loại lỗi nào?
Hiện tại Cloudflare áp dụng RFC 9457 cho tất cả các lỗi 1xxx (edge-side failures) bao gồm: DNS resolution issues (900+), invalid host (1000), access denied (1001-1012), rate limiting (1015), SSL errors (525-526), v.v. Kế hoạch mở rộng sang 4xx và 5xx trong tương lai.
Làm sao để kiểm tra AI agent nhận được định dạng RFC 9457?
Gửi request với header Accept: application/problem+json hoặc Accept: application/json. Nếu gặp lỗi, Cloudflare sẽ trả về JSON tuân thủ RFC 9457. Bạn cũng có thể thử Accept: text/markdown để nhận Markdown với YAML frontmatter.
Tôi cần làm gì để website của tôi được áp dụng RFC 9457?
Không cần làm gì! Đây là tính năng mặc định trên toàn mạng Cloudflare. Chỉ cần khách truy cập qua Cloudflare và gửi Accept header phù hợp là sẽ nhận được phản hồi có cấu trúc. Website của bạn giữ nguyên hoàn toàn.
RFC 9457 có giúp giảm chi phí hosting không?
Ưu tiên chính là giảm chi phí token/xử lý cho AI agents. Về hosting, phản hồi JSON nhỏ hơn HTML nên có thể tiết kiệm băng thông, nhưng tác động không lớn. Lợi ích chính là trải nghiệm agent tốt hơn và khả năng xử lý lỗi tự động.
Tôi có thể tự triển khai RFC 9457 cho API của mình không?
Có, bất kỳ API server nào cũng có thể triển khai RFC 9457. Bạn chỉ cần trả về JSON với các trường: type, status, title, detail. Các thư viện hỗ trợ có sẵn trong hầu hết ngôn ngữ (Java, Node.js, Python, Go).
