HTTP support seems possible, but it’s unlikely to be useful by itself. HTTPS is probably the majority and that’s a lot trickier (you’d have to MITM TLS in JS).
DNS is comparable to HTTP probably, since you could just use DNS-over-HTTPS and intercept DNS packets.