Hacker ApprovedDepartments

Go net/http

Ranked 3 of 11 HTTP client libraries by recommenders

Go's standard library HTTP package, praised as fully featured with an excellent server side. Critics say the client side is clunky, verbose and error-prone, with surprising behaviour changes.

Go's standard library HTTP package, praised as fully featured with an excellent server side. Critics say the client side is clunky, verbose and error-prone, with surprising behaviour changes.

19 people gave an opinion

recommend it
12
criticize it
7
approval share
63%
Each figure is one person. RecommendsCriticizes

Recommended in 4 of 13 months

  1. November 2025: not recommended
  2. December 2025: not recommended
  3. January 2026: not recommended
  4. February 2026: not recommended
  5. March 2026: recommended
  6. April 2026: recommended
  7. May 2026: not recommended
  8. June 2026: not recommended
  9. July 2026: not recommended
  10. August 2026: recommended
  11. September 2026: recommended
  12. October 2026: not recommended
  13. November 2026: not recommended (month in progress)

Why it doesn’t carry the badge

  • 12 people recommend itNeeds 10 or more, met.
  • 1.7 recommenders for every criticNeeds 2 to 1 or better, not met.
  • Recommended in 4 of 13 monthsNeeds 4 or more, met.

The same three rules apply to every product, and the badge can’t be bought. How the badge works

What people say about it

The reasons people give, with the number of comments that give each one. Open a reason to read what they said.

Why people recommend it

Each mark is one comment

  • Fully featured out of the box

    “I've never had any issues with it. Go has some of the best http batteries included of any language”

    Comment from 25 Mar 2026 in “I Forked Httpx”

    “because it's so fully featured out of the box”

    Comment from 25 Mar 2026 in “I Forked Httpx”
  • Excellent server side

    “Go’s server side net/http is excellent, the client side is clunky verbose”

    Comment from 25 Mar 2026 in “I Forked Httpx”

    “The server side is great. Sending a http request is… not”

    Comment from 25 Mar 2026 in “I Forked Httpx”
  • Production-grade, broadly liked standard library

    “I think having production-grade implementations makes a huge difference also.”

    Comment from 21 Aug 2026 in “Malicious Rust Crate Arrayref Runs a Build-Time Payload”

    “I would have thought everyone is happy we have it”

    Comment from 20 Apr 2026 in “Zero-copy protobuf and ConnectRPC for Rust”

What people warn about

Each mark is one comment

  • Surprising behaviour and breaking changes

    “That's a subtle behaviour change.”

    Comment from 2 Aug 2026 in “Go 1.27 Interactive Tour”

    “This is a surprising implementation of "Close" and should be documented somewhere.”

    Comment from 14 Oct 2026 in “Better HTTP/1 connection reuse in Go 1.27”

    “std added new fields to the type in a way that silently breaks existing users”

    Comment from 3 Aug 2026 in “Go 1.27 Interactive Tour”
  • Client side clunky and verbose

    “Go’s server side net/http is excellent, the client side is clunky verbose”

    Comment from 25 Mar 2026 in “I Forked Httpx”

    “The server side is great. Sending a http request is… not”

    Comment from 25 Mar 2026 in “I Forked Httpx”
  • Slow, especially HTTP/2

    “It indeed isn't very performant, though one should be careful”

    Comment from 7 Mar 2026 in “UUID package coming to Go standard library”

    “HTTP/2 in Go is significantly slower”

    Comment from 15 Oct 2026 in “Better HTTP/1 connection reuse in Go 1.27”
  • Client has footguns, not convenient

    “It is not built for convenience.”

    Comment from 25 Mar 2026 in “I Forked Httpx”

    “everyone sane avoids the built-in http client in any production setting because it has rather severe footguns”

    Comment from 1 Apr 2026 in “Axios Compromised on NPM – Malicious Versions Drop Remote Access Trojan”

Other HTTP client libraries people recommend

The four most recommended other HTTP client libraries, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.

Go net/http compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
Requests (Python library)23777%8—Approved
Axios213736%5——
Go net/httpThis page12763%4——
libcurl10283%7—Approved
httpx102231%4——
See all 11 HTTP client libraries, ranked

What people said

All 21 comments that mention it, newest first. Each links to the original comment.

“HTTP/2 in Go is significantly slower”

CriticizesComment from 15 Oct 2026 in “Better HTTP/1 connection reuse in Go 1.27”

“This is a surprising implementation of "Close" and should be documented somewhere.”

CriticizesComment from 14 Oct 2026 in “Better HTTP/1 connection reuse in Go 1.27”

“I've almost never had this with Uvicorn or Net/HTTP.”

RecommendsComment from 19 Sep 2026 in “I built the fastest PHP webserver in the world”

“This is kinda bad practice.”

CriticizesComment from 16 Sep 2026 in “Java 27”

“I think having production-grade implementations makes a huge difference also.”

RecommendsComment from 21 Aug 2026 in “Malicious Rust Crate Arrayref Runs a Build-Time Payload”

“std added new fields to the type in a way that silently breaks existing users”

CriticizesComment from 3 Aug 2026 in “Go 1.27 Interactive Tour”

“This sounds like a breaking change. Like a go 2.0 thing idk.”

CriticizesComment from 2 Aug 2026 in “Go 1.27 Interactive Tour”

“That's a subtle behaviour change.”

MixedComment from 2 Aug 2026 in “Go 1.27 Interactive Tour”

“Go's embedded HTTP server can handle it just fine”

RecommendsComment from 29 Apr 2026 in “FastCGI: 30 Years Old and Still the Better Protocol for Reverse Proxies”

“you had to keep all of the bad initial api design choices going forward”

CriticizesComment from 20 Apr 2026 in “Zero-copy protobuf and ConnectRPC for Rust”

“I would have thought everyone is happy we have it”

RecommendsComment from 20 Apr 2026 in “Zero-copy protobuf and ConnectRPC for Rust”

“Then you step into the Go world and it's just the stdlib http package.”

RecommendsComment from 1 Apr 2026 in “Axios Compromised on NPM – Malicious Versions Drop Remote Access Trojan”

“everyone sane avoids the built-in http client in any production setting because it has rather severe footguns”

CriticizesComment from 1 Apr 2026 in “Axios Compromised on NPM – Malicious Versions Drop Remote Access Trojan”

“I had the impression that Go's net/http was good, but a lot of people in this thread are complaining about it as well”

MixedComment from 25 Mar 2026 in “I Forked Httpx”

“It is not built for convenience.”

MixedComment from 25 Mar 2026 in “I Forked Httpx”

“The notable exception is Go, which has a fantastic one.”

RecommendsComment from 25 Mar 2026 in “I Forked Httpx”

“Go’s server side net/http is excellent, the client side is clunky verbose”

MixedComment from 25 Mar 2026 in “I Forked Httpx”

“The server side is great. Sending a http request is… not”

MixedComment from 25 Mar 2026 in “I Forked Httpx”

“I've never had any issues with it. Go has some of the best http batteries included of any language”

RecommendsComment from 25 Mar 2026 in “I Forked Httpx”

“because it's so fully featured out of the box”

RecommendsComment from 25 Mar 2026 in “I Forked Httpx”

“It indeed isn't very performant, though one should be careful”

MixedComment from 7 Mar 2026 in “UUID package coming to Go standard library”

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.