> For the complete documentation index, see [llms.txt](https://scarecrow.gitbook.io/cyber-security/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://scarecrow.gitbook.io/cyber-security/chapter-2-bug-bounty-basics/web-requests/http-fundamentals/http-flow.md).

# HTTP Flow

![](https://3470531533-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJt73HdbsX25I3225DZBw%2Fuploads%2FILxtQz6MnatDxzYActd5%2Fimage.png?alt=media\&token=40158c92-e1a1-4fc7-9dae-fc0a12c974da)

^ is a high level view of what happens when an HTTP request is submitted.

1. User enters address in browser
2. Browser sends the address to a DNS server to resolve the IP.
3. Client sends HTTP request to the server. (**GET)**
4. Server responds with requested information.

**Browsers will usually check /etc/hosts first, /etc/hosts can be edited manually to add records for DNS resolution.  To do so add the IP address followed by the domain name.**

After the browser gets the IP address it will send a **GET** request to the default HTTP port (80).  It will ask for the root path. /

The response will also have a status code. 200 OK means the request was successful.

The browser will then render the page and present it to the user.
