Nothing on the internet is free and has never been. If it appears free that's because somebody pays for it with time, money, hardware, or lost opportunities.
1) Historically, everything on the web used to be "free" and this is still an implicit assumption for internet users.
2) Payments are not part of the HTTP protocol; micropayments never materialized
3) The web is too good for advertisers - targeting, reach, scalability are unmatched compared to off-line advertisement. This supports p.1 above and hinders p.2.
It's a vicious circle.