Neither Prometheus nor Loki are data sources. Both are places you store and query data. You can store metrics (numbers) in Prometheus, and logs or events in Loki (which can be text or JSON etc).
Your data source could be web server logs, or it could be counters that your application exposes, or something else.
Once you've decided where you're collecting these HTTP responses from, you can then choose where and how to store them:
- Prometheus you won't be able to store individual HTTP logs, but you can create counters (e.g. number of 200 responses, number of 502 responses etc) and store those as metrics. By looking at how those counters change over time, it can answer questions like "how many requests per minute am I handling?" and "what proportion of those requests gave 502 responses"? You can also record latency information in histograms, which are basically counters grouped into buckets (e.g number of requests which took 0-1ms, 1-2ms, 2-5ms etc)
- in Loki you can store the individual HTTP requests as separate log entries, so you can drill down to details of individual requests. You can also do aggregate queries using LogQL, but they will be slower, as much more data has to be processed for a given time range compared to what Prometheus would need to query.