На сайте, или для более ясного представления будем называть его: "в корневом каталоге" , присутствует так называемый индексный файл. По умолчанию, северная программа настроена таким образом, что при обращении "клиента" (браузера пользователя), она ищет в корневом каталоге сайта с которым ассоциируется определённое имя (называемое доменным именем, а доменное имя в свою очередь ассоциируется со cпециальным ip - адресом, который ассоциируется уже с сервером) файл, с именем "index.*".

Индексный файл, в зависимости от своей принадлежности, которая обозначается расширением, считывается и обрабатывается, своей программой - "обработчиком". Например файл index.html обрабатывается сервером apache2 (то есть сразу передаётся браузеру), если - же файл имеет расширение "php" , то он передаётся (сервером apache2) на обработку интерпретатору "php", который, обрабатывает программу в данном файле и возвращает готовый для чтения браузером текст  в формате "html", программе-серверу apache2 , сервер передаёт результат, дальше по порядку, браузеру.

Другими словами, если "клиент" (браузер) запросил страницу с расширением "html", сервер (apache2) отдаёт этот файл "на прямую", минуя другие программы. Если же расширение запрашиваемого файла (страницы) "PHP", то сервер (apache2) определяет, что этот файл содержит программу и необходимо запустить код этой программы в определённом приложении, в данном случае это PHP интерпритатор, отдаёт файл интерпритатору и получает, сгенерированный с помощью программы в файле "PHP" файл в виде файла "html". Файлы с так называемым "html" как раз и предназначаются для чтения браузером. Затем серверная программа apache2, отправляет свежеиспечённый файл "html", для расшифровки, интересующемуся браузеру.

Если в адресной строке  браузера (клиента) введено доменное имя сайта, например "exemple.com", без указания какого то конкретного файла или страницы, то браузер вызывает сервер сайта с этим доменным именем, сервер осуществляет поиск в корневом каталоге сайта индексного файла для его обработки и передачи браузеру.

Программа записанная в index.php, грубо говоря, запускается php инрерпритатором, что - бы в ответ серверу (давшего команду интерпритатору) apache2 сгенерировался подходящий для браузера html - текст, который уже дальше передаётся браузеру инициализировавшему (опять же через apache2) этот файл. То есть сервер выступает в роли посредника - распределителя. 

Если это файл уже изначально подготовленный, то есть html-файл, то он отправляется сразу в браузер, запросивший доменное имя сайта. Нужно заметить, что файлы с расширением html - называются статическими страницами, а файлы с расширением php - именуются динамическими страницами сайта. В корневом каталоге, разумеется может быть только один единственный индексный файл.

Я постарался упростить, на сколько это возможно, роль файлов index.html и index.php в процессе взаимодействия: браузер - сайт, конечно же это происходит несколько сложнее, но в целом принцип выдержан.

Компонент комментариев CComment