GCP provides two load balancers namely Network and HTTP(s) where the former works on layer 4 and the later works on layer 7.
There is also a documentation which states that even HTTP traffic can be load balanced by a network load balancer. This slightly confuses which load balancer to choose for a web app in GCP. It is better to understand the differences before selecting one for the project.
What are the differences between them based on the workflow, setup, region/zone based, options for session affinity, and other settings?
Network load balancer Vs HTTP(s) Load Balancer
The above table is based on my perspective. If anything is incorrect or If I had missed something, please feel free to comment and I will add it to the table.
Here is the link for instructions on setting up an HTTP load balancer in GCP.