-1

When the facebook.com/profile/{username} is requested how is server able to load page with data corresponding to that user, instead of navigating to a directory named in that {username}, and possibly showing a 404 error ?

r_a_k
  • 111
  • 2
  • 8

1 Answers1

0

It's achieved typically using a pattern called "front controller", where all requests are handled by the same file (let's say index.php, talking specifically about PHP now). So all URLs are like this:

facebook.com/index.php/profile/abc
facebook.com/index.php/account

That file serves as the bootstrap for the application, reading extra parameters (anything after index.php) and dispatching requests to the appropriate handlers/controllers.

Then there's multiple ways you can get rid of that ugly index.php, depending on how you configure your web server (loads of questions here about that subject: htaccess remove index.php from url as an example).

Read more about it here: https://en.m.wikipedia.org/wiki/Front_controller

Community
  • 1
  • 1
Magd Kudama
  • 3,229
  • 2
  • 21
  • 25