Задать вопрос
RimMirK
@RimMirK
Вроде человек. Вроде учусь. Вроде пайтону

Как устроены сайты по типу хабра?

Как устроены сайты по типу хабра?
Если посмотреть на ссылку любого вопроса то можно увидеть что-то типа такого: qna.habr.com/q/1239214.
т.е. дерево примерно такое:
qna.habr.com
└─── q
     ├─── 14324324
     │     └─── index.php
     ├─── 24365435
     │     └─── index.php
     ├─── 34623465
     │     └─── index.php
     ├─── 35367443
     │     └─── index.php
     ├─── 86360033
     │     └─── index.php
     └─── ....


Не может же быть что на сервере так много папок.
Как это работает?

Это же не php файл с get'ом. qna.habr.com/q.php?id=1239214
  • Вопрос задан
  • 244 просмотра
Подписаться 2 Простой 1 комментарий
Решения вопроса 3
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
Грубо говоря, на сервере папок нет, есть web-приложение, которое принимает запросы, вынимает из них идентификатор (1239214), ищет по этому идентификатору данные в базе, с помощью шаблонизатора формирует html-код страницы и отдаёт его браузеру клиента.
Ответ написан
Комментировать
@rPman
Ответы другими пользователями даны абсолютно верные

Но хочу все же напомнить что вполне возможно существование веб сервиса который создает на каждую страницу реальный файл на диске при создании и редактировании поста как механизм кеширования (дублируя информацию с базой данных), так как современные веб серверы (nginx например) работают с таким файлами (это называется статичные файлы) невероятно эффективно, на порядок эффективнее чем делать это на лету при каждом запросе, так же он может быть заранее сжат (deflate, gzip, br) что позволит сэкономить еще и на сетевом трафике., да веб сервер и так это делал бы на лету, но за счет процессора.
Ответ написан
Комментировать
dima9595
@dima9595
Junior PHP
Это же не php файл с get'ом. qna.habr.com/q.php?id=1239214

Можно сказать что как раз таки это файл с гетом. По сути это URI, который с помощью веб-сервера отправляет запрос на роутинг (php, к примеру) и php определяет что открывать. Почитайте про это в инете.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы