Blog

HTTP Client User Agents: curl, wget and More

There is a lot of confident but wrong advice about curl user agent circulating. Here is a grounded summary. The short version: command line and library defaults. That single idea explains most of the behaviour you will observe.

What curl user agent actually involves

In real deployments the theory meets messier conditions. Configurations vary, versions drift, and edge cases appear that no clean explanation covers. The important thing is to understand the underlying mechanism rather than memorising a checklist, because the specifics change while the principles stay reasonably stable.

  • Start from what is actually being measured or offered, not from what is claimed.
  • Compare against a known-good reference point before drawing conclusions.
  • Record what you observe so you can spot changes over time.

Frequent misconceptions

Treating this as a solved problem. It is not static — it shifts as technology and standards change, so periodic review beats a one-time setup.

A related error is over-correcting. Aggressive measures often create new problems — unusual configurations can stand out precisely because they are unusual, and overly strict rules tend to catch the wrong targets.

Applying it

Begin with a baseline. Establish what normal looks like in your own context, then investigate deviations from it. That approach is more durable than any fixed list of rules, and it adapts as conditions change.

If you take one thing from this: command line and library defaults is the concept doing the real work here. Everything else is implementation detail that will look different in six months.