httpbin là gì? Các Endpoint, Hướng dẫn sử dụng và Công cụ thay thế

httpbin là gì? Một dịch vụ yêu cầu và phản hồi HTTP đơn giản để kiểm tra các ứng dụng khách. Tìm hiểu các điểm cuối chính của nó, cách sử dụng với curl, cách tự triển khai nó bằng Docker và các lựa chọn thay thế httpbin tốt nhất.

INEZA Felin-Michel

INEZA Felin-Michel

3 tháng 7 2026

httpbin là gì? Các Endpoint, Hướng dẫn sử dụng và Công cụ thay thế

Apidog cho doanh nghiệp

Triển khai tại chỗ

SSO & RBAC

Tuân thủ SOC 2

Khám phá Apidog Enterprise

Nếu bạn đã từng cần kiểm tra một ứng dụng khách HTTP (HTTP client) mà không cần dựng một backend thực sự, bạn có thể đã dùng đến httpbin. Đây là một dịch vụ web nhỏ gọn, phản hồi lại yêu cầu của bạn, để bạn có thể thấy chính xác những gì mã của bạn đã gửi. Điều này khiến nó trở nên hoàn hảo để gỡ lỗi tiêu đề (headers), kiểm tra cách ứng dụng khách của bạn xử lý lỗi 500, hoặc xác nhận rằng mã thông báo xác thực (auth token) của bạn thực sự đã được đưa vào yêu cầu. Bạn có thể sử dụng bất kỳ công cụ nào với nó, từ một lệnh curl thô đến một ứng dụng khách đầy đủ như Apidog. Dự án này có tại httpbin.org và là mã nguồn mở theo giấy phép ISC.

nút

httpbin là gì?

httpbin là một dịch vụ yêu cầu và phản hồi HTTP. Bạn gửi cho nó một yêu cầu; nó gửi lại một mô tả JSON của yêu cầu đó. Không hơn. Nó được tạo ra bởi Kenneth Reitz, nhà phát triển đằng sau thư viện requests phổ biến của Python, và nó được viết bằng Python với Flask.

Giá trị của nó nằm ở sự đơn giản. Giả sử bạn muốn biết liệu ứng dụng khách HTTP của bạn có đặt tiêu đề User-Agent một cách chính xác hay không. Bạn truy cập https://httpbin.org/headers và phản hồi sẽ liệt kê mọi tiêu đề mà máy chủ đã nhận được. Không có cơ sở dữ liệu, không đăng nhập, không cài đặt. Bạn nhận được một bản sao sạch sẽ của yêu cầu của riêng bạn.

httpbin.org là phiên bản công cộng, và nó tiện lợi cho các kiểm tra nhanh. Nó cũng có thể chậm hoặc không khả dụng trong thời gian ngắn, vì đây là một dịch vụ chia sẻ miễn phí. Việc bảo trì đã thay đổi qua nhiều năm; mã hiện đang nằm trong kho GitHub postmanlabs/httpbin, với các nhánh cộng đồng như của Kong cũng tồn tại. Đối với bất kỳ điều gì bạn chạy thường xuyên, tự host là lựa chọn an toàn hơn. Thông tin thêm về điều đó ở dưới.

Các điểm cuối httpbin quan trọng

httpbin cung cấp một tập hợp các điểm cuối, mỗi điểm cuối nhằm mục đích cho một loại thử nghiệm. Dưới đây là những điểm cuối bạn sẽ sử dụng nhiều nhất.

Điểm cuối Chức năng
/get Trả về các đối số truy vấn, tiêu đề và IP gốc của yêu cầu GET
/post Trả về dữ liệu biểu mẫu, nội dung JSON và các tiêu đề bạn POST
/put, /patch, /delete Tương tự cho các phương thức HTTP khác
/status/{codes} Trả về mã trạng thái bạn yêu cầu, như /status/404 hoặc /status/503
/headers Chỉ trả về các tiêu đề yêu cầu mà máy chủ đã thấy
/ip Trả về địa chỉ IP gốc của bạn
/user-agent Trả về chuỗi User-Agent mà ứng dụng khách của bạn đã gửi
/delay/{n} Chờ n giây trước khi phản hồi (tối đa 10), để kiểm tra thời gian chờ
/basic-auth/{user}/{passwd} Chỉ trả về 200 nếu bạn gửi thông tin Basic Auth khớp
/bearer Kiểm tra mã thông báo Bearer trong tiêu đề Authorization
/redirect/{n} Chuyển hướng bạn qua n lần, để kiểm tra việc xử lý chuyển hướng
/cookies Trả về các cookie mà ứng dụng khách của bạn đã gửi
/uuid Trả về một UUID ngẫu nhiên
/anything Phản hồi lại mọi thứ về yêu cầu, bất kể bạn sử dụng phương thức nào

Các điểm cuối /status/{codes}/delay/{n} là những anh hùng thầm lặng ở đây. Chúng cho phép bạn buộc các đường dẫn lỗi và phản hồi chậm theo yêu cầu, điều khó có thể kích hoạt với một API thực tế. Nếu bạn muốn tạo các nội dung phản hồi giả thay vì phản hồi lại, hãy kết hợp httpbin với một API giả để kiểm tra dữ liệu.

Cách sử dụng httpbin để kiểm tra ứng dụng khách

Cách nhanh nhất để thử httpbin là với curl. Gửi một yêu cầu GET với một tham số truy vấn:

curl "https://httpbin.org/get?tool=apidog&check=headers"

Bạn nhận được một đối tượng JSON hiển thị args, headers mà máy chủ đã nhận và IP origin của bạn. Điều này xác nhận ứng dụng khách của bạn đã gửi những gì bạn mong đợi.

Để kiểm tra cách mã của bạn xử lý nội dung POST, hãy gửi một số JSON:

curl -X POST "https://httpbin.org/post" \
  -H "Content-Type: application/json" \
  -d '{"name": "widget", "qty": 3}'

httpbin phản hồi lại json đã được phân tích cú pháp, data thô và các tiêu đề, để bạn có thể xác minh rằng Content-Type và tải trọng của bạn đã được gửi nguyên vẹn.

Bây giờ hãy buộc một lỗi để kiểm tra logic thử lại của bạn:

curl -i "https://httpbin.org/status/503"

Bạn nhận được một phản hồi 503 Service Unavailable thực sự. Hướng xử lý lỗi của ứng dụng khách của bạn đến đây và xác nhận nó thử lại hoặc thất bại một cách nhẹ nhàng. Thay thế bằng /delay/5 để mô phỏng một điểm cuối chậm và kiểm tra cài đặt thời gian chờ của bạn.

Bạn không cần phải ở trong terminal. Bất kỳ ứng dụng khách REST nào cũng có thể truy cập các URL tương tự này. Nếu bạn thích một quy trình làm việc đồ họa, hãy dán https://httpbin.org/get vào Apidog, gửi yêu cầu và kiểm tra phản hồi với tô sáng cú pháp, lịch sử đã lưu và biến môi trường. Điều này tiện lợi khi bạn muốn so sánh phản hồi giữa các môi trường hoặc chia sẻ một thử nghiệm với đồng đội. Để thiết lập ưu tiên terminal, hãy xem các ứng dụng khách TUI REST API này.

Tự host httpbin với Docker

Phiên bản công cộng httpbin.org là tốt cho các kiểm tra một lần, nhưng nó có thể bị giới hạn tốc độ hoặc không hoạt động khi bạn cần. Chạy bản sao của riêng bạn sẽ khắc phục điều đó và giữ cho lưu lượng truy cập thử nghiệm của bạn riêng tư. Image Docker chính thức giúp việc này trở thành một công việc chỉ với hai lệnh.

Tải image và chạy nó:

docker pull kennethreitz/httpbin
docker run -p 80:80 kennethreitz/httpbin

Dịch vụ hiện lắng nghe trên cổng 80. Truy cập nó tại http://localhost/get và bạn sẽ nhận được hành vi tương tự như trang web công cộng, không có độ trễ mạng và không có giới hạn tốc độ chung. Đây là thiết lập bạn muốn trong các đường ống CI, nơi độ tin cậy quan trọng và bạn không muốn phụ thuộc vào một dịch vụ bên ngoài. Image này được xuất bản trên Docker Hub dưới dạng kennethreitz/httpbin.

Nếu cổng 80 bị chiếm trên máy của bạn, hãy ánh xạ một cổng host khác, ví dụ docker run -p 8080:80 kennethreitz/httpbin, sau đó sử dụng http://localhost:8080/get.

Các lựa chọn thay thế httpbin

httpbin làm tốt một việc, nhưng nó không phải là lựa chọn duy nhất, và nó không phải là một nền tảng kiểm thử đầy đủ. Dưới đây là các lựa chọn thay thế trung thực tùy thuộc vào nhu cầu của bạn.

Postman Echo. Một dịch vụ echo được host tương tự như httpbin, do Postman vận hành. Bạn truy cập https://postman-echo.com/get và nhận được yêu cầu của bạn được phản hồi lại. Nó bao gồm các điểm cuối GET, POST, xác thực và tiện ích. Xem tài liệu Postman Echo để biết danh sách đầy đủ. Nếu httpbin.org không hoạt động, Echo là một sự thay thế đáng tin cậy.

httpbin tự host. Như đã trình bày ở trên, chạy image Docker cung cấp cho bạn các điểm cuối y hệt với quyền kiểm soát hoàn toàn và không có giới hạn chia sẻ. Đây là lựa chọn tốt nhất khi bạn cần hành vi httpbin bên trong mạng riêng hoặc một công việc CI.

Dịch vụ Mock. httpbin phản hồi lại yêu cầu của bạn; nó không trả về dữ liệu miền thực tế. Khi bạn cần các phản hồi giả nhưng có cấu trúc (danh sách người dùng, đối tượng đơn hàng, kết quả phân trang), hãy tìm một máy chủ mock thay thế. Apidog có chức năng smart mocking tích hợp để tạo ra các phản hồi thực tế từ lược đồ của bạn, giúp giao diện người dùng của bạn có thể phát triển dựa trên một điểm cuối trước khi backend tồn tại.

Apidog như lớp ứng dụng khách và kiểm thử. httpbin là một mục tiêu bạn gửi yêu cầu đến. Apidog là công cụ bạn dùng để gửi chúng. Nó là một ứng dụng khách API và nền tảng kiểm thử đầy đủ: thiết kế điểm cuối, gửi yêu cầu, viết xác nhận, chuỗi các yêu cầu thành các kịch bản và chạy chúng trong CI. Bạn sẽ sử dụng Apidog để truy cập httpbin, hoặc để thay thế nó khi nhu cầu của bạn vượt xa một phản hồi echo đơn giản. Hai thứ này không tương đương; httpbin là dịch vụ nhỏ gọn, Apidog là nơi làm việc xung quanh nó. Khi bạn sẵn sàng chuyển từ các lệnh curl tùy ý sang các kiểm thử có thể lặp lại đã lưu, Apidog cho phép bạn nhập các yêu cầu hiện có và thêm các xác nhận. Để có một khảo sát rộng hơn về các lựa chọn không cần cài đặt, hãy xem các công cụ kiểm thử API trực tuyến miễn phí này.

Câu hỏi thường gặp

httpbin có miễn phí sử dụng không? Có. Phiên bản công cộng httpbin.org là miễn phí và không yêu cầu tài khoản. Mã nguồn mở theo giấy phép ISC, vì vậy bạn cũng có thể tự chạy nó mà không mất phí.

httpbin có còn được bảo trì không? Cơ sở mã nằm trong kho GitHub postmanlabs/httpbin và nhận được một số sự chú ý liên tục, mặc dù việc bảo trì đã không thường xuyên. Vì httpbin.org có thể không ổn định, nhiều nhóm ghim một bản sao Docker tự host cho bất kỳ điều gì quan trọng.

Tôi có thể sử dụng httpbin để kiểm thử webhooks không? Không hẳn. httpbin phản hồi lại các yêu cầu bạn gửi đến nó, nhưng nó sẽ không nhận một sự kiện từ bên thứ ba và chuyển tiếp nó đến máy cục bộ của bạn. Để làm điều đó, hãy sử dụng một dịch vụ tunneling hoặc kiểm tra chuyên dụng; xem hướng dẫn này về kiểm thử API localhost và webhook và bài giới thiệu này về cách webhook hoạt động.

Sự khác biệt giữa httpbin và Postman Echo là gì? Chúng làm gần như cùng một việc: phản hồi lại yêu cầu HTTP của bạn dưới dạng JSON. httpbin là dịch vụ Python và Flask mã nguồn mở gốc; Postman Echo là một dịch vụ được host bởi Postman. Chọn cái nào hoạt động và có thể truy cập được.

Tôi có thể kiểm thử xử lý lỗi với httpbin không? Có. Sử dụng /status/{code} để buộc bất kỳ mã trạng thái nào, như /status/500 hoặc /status/429, và /delay/{n} để mô phỏng các phản hồi chậm. Đây là cách sạch nhất để kiểm tra logic thử lại và thời gian chờ của ứng dụng khách của bạn.

Tóm lại

httpbin là một công cụ nhỏ gọn, sắc bén: hướng một ứng dụng khách HTTP vào nó và thấy yêu cầu của bạn được phản hồi lại. Sử dụng /get/post để xác nhận những gì bạn gửi, /status/delay để buộc các đường dẫn lỗi, và image Docker để chạy một bản sao riêng tư trong CI. Khi bạn cần nhiều hơn một phản hồi echo, hãy tìm đến các mock thực tế, các bộ kiểm thử đã lưu và các xác nhận.

Đó là lúc một nền tảng đầy đủ phát huy tác dụng. Apidog cung cấp cho bạn một ứng dụng khách API để truy cập httpbin, smart mocking để thay thế nó và các kiểm thử tự động để khóa chặt hành vi bạn vừa xác minh. Tải xuống Apidog và biến các kiểm tra httpbin nhanh chóng của bạn thành các kiểm thử có thể lặp lại.

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