Phương thức HTTP TRACE là gì?

Tìm hiểu về phương thức HTTP TRACE, cách hoạt động và lợi ích của nó trong việc gỡ lỗi API. Cũng tìm hiểu cách sử dụng Apidog, Postman, Swagger và JMeter để gửi và phân tích yêu cầu HTTP TRACE, và cách bảo vệ API của bạn khỏi cuộc tấn công theo dõi giữa các trang.

Minh Triết

Minh Triết

6 tháng 6 2025

Phương thức HTTP TRACE là gì?

Bạn có bao giờ tự hỏi cách mà các API của bạn hoạt động ẩn sau không? Làm thế nào bạn biết chúng đang gửi và nhận dữ liệu đúng, hoặc nếu chúng đang bị chỉnh sửa bởi các trung gian dọc đường? Đó là lúc phương pháp HTTP TRACE trở nên hữu ích. Phương pháp HTTP TRACE là một loại yêu cầu HTTP đặc biệt thực hiện một bài kiểm tra vòng lặp tin nhắn dọc theo đường dẫn đến tài nguyên mục tiêu. Nó cho phép bạn nhìn thấy thông điệp chính xác mà người nhận cuối nhận được, loại trừ bất kỳ dữ liệu nhạy cảm nào, chẳng hạn như cookie hoặc thông tin xác thực.

Trong bài viết blog này, tôi sẽ cho bạn biết cách sử dụng phương pháp HTTP TRACE để gỡ lỗi các API của bạn như một chuyên gia. Tôi sẽ giải thích phương pháp HTTP TRACE là gì, cách nó hoạt động và những lợi ích mà nó mang lại. Tôi cũng sẽ chỉ cho bạn cách sử dụng Apidog.

💡
Apidog là một nền tảng tích hợp cho thiết kế API, gỡ lỗi, phát triển, mô phỏng và thử nghiệm, để gửi và phân tích các yêu cầu HTTP TRACE miễn phí.
button

Phương pháp HTTP TRACE là gì?

Phương pháp HTTP TRACE là một trong những phương pháp HTTP tiêu chuẩn, được định nghĩa trong đặc tả RFC 2616. Nó được sử dụng để thực hiện bài kiểm tra vòng lặp tin nhắn dọc theo đường dẫn đến tài nguyên mục tiêu, cung cấp một cơ chế gỡ lỗi hữu ích. Người nhận cuối của yêu cầu nên phản ánh tin nhắn đã nhận, loại trừ bất kỳ trường nào có thể chứa dữ liệu nhạy cảm, trở lại cho máy khách như là phần thân tin nhắn của phản hồi 200 (OK) với Content-Type là message/http. Người nhận cuối là máy chủ gốc hoặc máy chủ đầu tiên nhận được giá trị Max-Forwards là 0 trong yêu cầu.

Cú pháp của phương pháp HTTP TRACE như sau:

TRACE /path HTTP/1.1
Host: example.com

Yêu cầu không có thân, và đường dẫn là URI của tài nguyên mục tiêu. Yêu cầu có thể bao gồm một tiêu đề Max-Forwards, chỉ ra số lượng trung gian tối đa có thể chuyển tiếp yêu cầu. Nếu giá trị Max-Forwards là 0, yêu cầu không nên được chuyển tiếp, và phản hồi nên được tạo ra bởi máy chủ đầu tiên nhận được nó. Nếu giá trị Max-Forwards không được chỉ định, yêu cầu có thể được chuyển tiếp vô thời hạn, cho đến khi nó đến máy chủ gốc hoặc một trung gian không hỗ trợ phương pháp HTTP TRACE.

Phản hồi cho yêu cầu HTTP TRACE nên có mã trạng thái 200 (OK) và Content-Type là message/HTTP. Phần thân phản hồi nên chứa tin nhắn chính xác mà người nhận cuối nhận được, loại trừ bất kỳ dữ liệu nhạy cảm nào. Phản hồi cũng có thể bao gồm một tiêu đề Via, chỉ ra các trung gian đã xử lý yêu cầu. Tiêu đề Via nên có một hoặc nhiều mục, mỗi mục bao gồm tên giao thức, phiên bản giao thức, và định danh của trung gian. Ví dụ:

HTTP/1.1 200 OK
Content-Type: message/http
Via: 1.1 proxy1.example.com, 1.1 proxy2.example.com

TRACE /path HTTP/1.1
Host: example.com

Phản hồi cho thấy rằng yêu cầu đã được chuyển tiếp bởi hai proxy, proxy1.example.com và proxy2.example.com, trước khi đến người nhận cuối. Phần thân phản hồi phản ánh yêu cầu gốc, bao gồm đường dẫn và tiêu đề host.

Phương pháp HTTP TRACE hoạt động như thế nào?

Phương pháp HTTP TRACE hoạt động bằng cách gửi một yêu cầu đến tài nguyên mục tiêu và mong đợi một phản hồi chứa cùng một tin nhắn yêu cầu. Điều này cho phép máy khách xem tin nhắn chính xác mà máy chủ đã nhận được, và kiểm tra xem có bất kỳ chỉnh sửa hoặc lỗi nào dọc đường hay không.

Phương pháp HTTP TRACE có thể được sử dụng để gỡ lỗi nhiều khía cạnh khác nhau của hành vi API, chẳng hạn như:

Phương pháp HTTP TRACE cũng có thể được sử dụng để kiểm tra bảo mật và tuân thủ của API, chẳng hạn như:

Những lợi ích của phương pháp HTTP TRACE là gì?

Phương pháp HTTP TRACE cung cấp một số lợi ích cho các nhà phát triển API, người thử nghiệm, và người tiêu dùng, chẳng hạn như:

Cách sử dụng Apidog để gửi và phân tích các yêu cầu HTTP TRACE?

Apidog là một nền tảng tích hợp cho thiết kế API, gỡ lỗi, phát triển, mô phỏng, và thử nghiệm, kết hợp Postman + Swagger + Mock + JMeter để giải quyết vấn đề đồng bộ dữ liệu giữa các hệ thống khác nhau sử dụng một bộ hệ thống và một bộ dữ liệu. Apidog là một bộ công cụ hoàn chỉnh kết nối toàn bộ vòng đời API, giúp các đội R&D thực hiện các phương pháp tốt nhất cho phát triển thiết kế API trước.

button

Apidog cung cấp một cách tiện lợi và dễ dàng để gửi và phân tích các yêu cầu HTTP TRACE, cũng như các phương pháp HTTP khác. Để sử dụng Apidog để gửi và phân tích các yêu cầu HTTP TRACE, bạn cần làm theo các bước sau:

giao diện apidog
giao diện apidog
giao diện apidog

Trong bảng phản hồi, bạn có thể thấy trạng thái

Cách bật hoặc tắt phương pháp HTTP TRACE trên máy chủ?

Tùy thuộc vào cấu hình máy chủ và chính sách bảo mật của bạn, bạn có thể muốn bật hoặc tắt phương pháp HTTP TRACE trên máy chủ của mình. Bật phương pháp HTTP TRACE cho phép bạn gỡ lỗi các API của mình dễ dàng hơn, nhưng nó cũng có thể tiết lộ một số thông tin có thể bị khai thác bởi những kẻ xấu. Tắt phương pháp HTTP TRACE ngăn chặn những cuộc tấn công như vậy, nhưng nó cũng giới hạn khả năng gỡ lỗi của bạn.

Quá trình bật hoặc tắt phương pháp HTTP TRACE khác nhau tùy thuộc vào loại và phiên bản của máy chủ của bạn. Dưới đây là một số ví dụ về cách thực hiện cho một số máy chủ phổ biến:

TraceEnable off

Để giới hạn phương pháp TRACE chỉ cho máy chủ địa phương, bạn có thể thêm dòng sau:

TraceEnable extended
location / {
  limit_except GET POST HEAD {
    deny all;
  }
}

Để giới hạn phương pháp TRACE chỉ cho máy chủ địa phương, bạn có thể thêm khối sau:

location / {
  limit_except GET POST HEAD TRACE {
    deny all;
  }
  if ($request_method = TRACE) {
    return 200;
  }
}

Kết luận

Phương pháp HTTP TRACE là một công cụ gỡ lỗi hữu ích cho các API, cho phép bạn thực hiện bài kiểm tra vòng lặp tin nhắn dọc theo đường dẫn đến tài nguyên mục tiêu. Nó có thể giúp bạn xác minh sự hiện diện và danh tính của các trung gian, tính toàn vẹn và hợp lệ của các tiêu đề và thân, hiệu suất và độ trễ của các yêu cầu và phản hồi, và bảo mật và tuân thủ của các API của bạn.

Để sử dụng phương pháp HTTP TRACE, bạn cần gửi một yêu cầu đến tài nguyên mục tiêu và mong đợi một phản hồi phản ánh cùng một tin nhắn yêu cầu, loại trừ bất kỳ dữ liệu nhạy cảm nào. Bạn có thể sử dụng nhiều công cụ và khung khác nhau để gửi và phân tích các yêu cầu HTTP TRACE, chẳng hạn như Apidog. Apidog cung cấp một cách tiện lợi và dễ dàng để gửi và phân tích các yêu cầu HTTP TRACE.

button

Thực hành thiết kế API trong Apidog

Khám phá cách dễ dàng hơn để xây dựng và sử dụng API