websofter
@websofter
Programmer...

В чем разница между статическими и динамическими данными WEB, на примере картинки во вложении?

В общем, вопрос простой, кто в курсе темы обработки сервером Nginx и Apache. Мне просто нужно понимать суть динамических данных. Динамические - это POST и GET, статические - это фото, файлы или другие загружаемые данные? А вот старницы сайта HTML - это статика, а файл PHP - динамика?
339a612c14940c83a83bf8c245fadf97.jpg
  • Вопрос задан
  • 3682 просмотра
Решения вопроса 1
И да и нет
1. статика в класическом виде jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|flv|mp3
Как правило это именно физически имеющиеся файлы.
НО
Как вы понимаете не все эти файлы реально статика
например .html может быть частью ЧПУ в таком случае вы не найдете этого файла на диске, посколкьу это ЧПУ
И естественно его лучше не включать в статику, или добавлять доп проверку что файл существует.
То же самое к sitemap.xml который может ЧПУ перекидывать на sitemap.php
И даже Robots.txt - но это уже редкость.
По этому нужно делать дополнительную проверку если фйл 404 то пытаться отдать его чере апач, а посколкьу это общее правило ко всем частным случаям то добавлять его в самом начале конфига.
Динамика это то что собирает СМС, те урлы которые отдают 200 но на диске этих файлов нет.
Вот кстати само ЧПУ проверяет нет ли физически таких файлов.
<IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f    #  Если это не файл
  RewriteCond %{REQUEST_FILENAME} !-l     #  Если это не линка
  RewriteCond %{REQUEST_FILENAME} !-d    #   Если это не директория 
  RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$ # Защита от цикла
  RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]  # то перекинуть  в пхп ( в данном случае это битрикс)
</IfModule>

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

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

Войти через центр авторизации
Похожие вопросы