Ruby HTTP Clients Comparison
summary
Survey of 16 libraries with a public matrix and runnable tests shows concrete tradeoffs: benchmarks (200B, 24MB) reveal em-http-request and curb (multi) win raw throughput, keep‑alive drastically helps small transfers, and parallel APIs beat synchronous loops. Several gems default to SSL verify_none unless explicitly configured, cookie handling is inconsistent (use mechanize for browser‑style cookies), and many wrappers expose adapter choices (faraday/httpi). Matrix and scripts are available at the provided URL for reproduction.
AI-written summary · about
chapters (24)
- 0:00Intro
- 3:31Ruby HTTP Client libraries
- 4:52HTTP client libraries I didn't evaluate
- 5:55Evaluation Axis
- 6:44Project Stats
- 8:20sync API (1/5) - Client instance
- 8:51sync API (2/5) - Client class
- 11:35async API(2/2) - Polling
- 12:16parallel API - curb
- 13:51Compatibility
- 15:00Connection features
- 15:113 types of HTTP connections
- 16:56Keep-Alive in em-http-request
- 17:26Pipelining in em-http-request
- 18:21NO verification by default?!
- 22:20"Cross-site Cooking" bug in httpclient
- 24:42Streaming upload/download
- 26:36Development Support
- 29:26Replayable log
- 30:17Advanced features
- 33:21Testing your client
- 34:10Performance Comparisons
- 39:53My Recommendations
- 47:00sync API (4/5) - Include & Customize








