DEV Community

Cover image for Journey of a web page 🛣️ - How browsers work

Journey of a web page 🛣️ - How browsers work

Paulo Santos on July 19, 2021

This article covers the processes that happen in-between a user entering a web address in a browser and a web page showing up as a result. ...
Collapse
 
lgt123git profile image
lgtee12 • Edited

Really detailed post on where it matters. Very well done, congrats!

Collapse
 
thomasbnt profile image
Thomas Bnt ☕

Okaaaay, this is a big and a great post ! Good job!

Collapse
 
geminii profile image
Jimmy

Awesomz explanation 🙏👏👏👏

Collapse
 
wpq profile image
Wpq

Very nice article.

GET is idempotent only if the server says so. There is nothing in the protocol itself they would enforce it.

Collapse
 
gitpaulo profile image
Paulo Santos • Edited

Thank you!!

I have to disagree, however. I believe that, according to datatracker.ietf.org/doc/html/rfc7..., GET is in fact both a safe and idempotent method!

Collapse
 
wpq profile image
Wpq • Edited

GET is just a method. How it is implemented on the server is up to the server.

You could run all your API on GET and act upon either the URL components or the body of the GET (there should be none, but you can use one).

GET /list → lists your objects
GET /name/add/john → adds the name "john"
GET /name/delete/john → deletes "john"

Sure, the nice way is to use PUT, DELETE etc. but the above can work perfectly. This is actually used by some APIs.

Of course, according to the specification, GET is expected to be idempotent but, again, this is just an expectation, the server can do whatever pleases it.

Thread Thread
 
gitpaulo profile image
Paulo Santos • Edited

Right, I misunderstood you, thanks for clarifying your point!
The article assumes a correct implementation of GET which follows from the specification. I will add an edit to state that explicitly.

Collapse
 
alfonsocruzvel profile image
Alfonso Cruz

One of the most fleshy and, at the same time, concise articles I've ever read about this not-so-easy field.

Thanks so much for your share!

Collapse
 
pranavtechie profile image
Pranav

very intuitive, finally got to know what happens under the hood for a website loading

Collapse
 
stuartcmd profile image
Stuart

Thank you, Paulo, for creating and sharing this fabulous tutorial.

Collapse
 
mbiesiad profile image
Michal Biesiada

Really great work!! 🦄

Collapse
 
askiebaby profile image
Askie Lin

Thanks, I learned a lot of details of the whole proccess from this article.

Collapse
 
programmerraja profile image
Boopathi

Awsome work dude 👍

Collapse
 
omkar2002 profile image
omkar-2002

This was deep ! like I think pacific trench just smiled after reading this:)
Thanks!

Collapse
 
prince34345 profile image
Prince34345

_great post brother really love the way you describes the browser working structure
love from India _