Почему расширения часто скрываются в URL-адресах?

Много раз я вижу, что URL-адреса скрыты (например, .html, .php)), но не все сайты делают это.

Почему веб-мастера скрывают расширение? Это для безопасности, для URL-адреса выглядеть более чистым или для каких-то других целей?

20 голосов | спросил Unknown 9 Maypm13 2013, 21:54:52

6 ответов


28

Существует несколько причин удалить расширения из URL-адресов:

  • Чтобы URL выглядел более чистым
  • Чтобы упростить ввод URL-адресов
  • Чтобы упростить запоминание URL-адресов
  • Чтобы сделать URL-адреса более ключевыми словами для SEO
  • Чтобы иметь возможность изменять технологии - если вы когда-либо захотите перенести свой сайт с одной технологии на другую, проще всего это сделать без того, чтобы пользователи даже не знали, нет ли расширений в URL-адресах.

Имейте в виду, что многие сайты генерируются системой управления контентом (CMS), которая бы сделала URL-адреса такими: /index.php?page=this-is-the-widget-page , Это особенно уродливо и имеет гораздо более крутой характер, чем просто расширение. Переписывание для удаления index.php?page= делает его намного лучше.

Расширения не нужны в Интернете, потому что серверы отправляют тип документа в виде заголовка. Веб-страницы используются как text/html, изображения как image/png или image/jpeg. Это позволяет браузерам знать, как визуализировать контент, не используя расширение, чтобы понять, что URL-адрес содержит текст, HTML, PDF или изображение (дополнительную информацию см. В статье Wikipedia Тип интернет-мультимедиа ).

Некоторые веб-мастера предпочитают использовать расширение по своим URL-адресам, которое соответствует этому типу содержимого. Таким образом, любой документ text/html имел бы расширение .html, а любой документ image/png имел бы .png расширение. Это может помочь, когда URL-адреса сохраняются в файловой системе, где метаданные об их типе контента теряются. В большинстве файловых систем программа, открывающая файл, выбирается расширением. Поэтому даже если страница обслуживается PHP, некоторые веб-мастера удаляют расширение .php, а некоторые заменяют его на .html.

Также возникает вопрос, могут ли URL-адреса лучше заканчивающийся в концевой косой черты (/), когда у них нет расширения , в котором много обсуждений переполнения стека.

ответил Stephen Ostermiller 9 Maypm13 2013, 23:00:42
6

Все веб-серверы имеют один или несколько «файлов по умолчанию». Это файл, который будет отображаться всякий раз, когда посетитель переходит к URL-адресу, заканчивающемуся косой чертой /, то есть папкой.

Если имя файла по умолчанию на вашем веб-сервере index.php, и посетитель переходит к www.example.com/pagename/, они фактически , доступ к www.example.com/pagename/index.php.

Если нет конечного /, веб-сервер, вероятно, просто перезаписывает URL-адрес, чтобы удалить его, поскольку это необязательно. Этот сайт, на самом деле, делает это.

ответил Patrik Alienus 9 Maypm13 2013, 22:21:06
4

Это тип URI-схемы, который я нахожу для себя на своем личном веб-сайте.

Лично, причина, по которой я начал это делать (и, вероятно, еще больше веб-дизайнеров и разработчиков!), был после прочтения статьи Стивен Эстермиллер имеет в своем отличный ответ на этот вопрос .

Чтобы дать более конкретный ответ на ваш основной вопрос: «Почему расширения скрыты в URL-адресах?». Я бы сказал, что основными причинами для меня являются:

1. Для будущего URI:

Например, это могло бы показаться хорошей идеей в то время, когда нужно использовать URI: http://www.example.com/page.pl где .pl является расширением файла для скрипта Perl. Однако тезисы, большинство веб-разработчиков используют ASP.NET или PHP для бэкэнд-скриптов, поэтому, несмотря на то, что today , http://www.example.com/page.php звучит как лучшая идея, в конечном итоге PHP и ASP /ASP.net станут старомодными. Поэтому лучше всего просто удалить расширение вообще.

2. Читаемость и запоминаемость:

Намного проще, чтобы URI UOL был передан людям устно, на бумаге (например, рекламные объявления, визитные карточки и т. д.), не говоря уже о том, чтобы легче запомнить.

3. «Доступность» *

Хотя я бы сказал, что подавляющее большинство пользователей в эти дни, вероятно, проходят через поисковую систему для всего - я даже видел людей, которые поедут в адресную строку и введите www.google.com, а затем используйте Google, чтобы буквально ввести www.ebay.com! Но я думаю, что если у меня есть веб-сайт на основе мультимедиа, URI http://www.example.com/video намекает, что раздел музыки можно найти в URI http://www.example.com/audio и т. д. (Я все еще использую адресную строку, чтобы перейти на веб-сайты. «Я честно â € œold-school» об этом!)

* (О! â € œHackabilityâ €? - это слово существует даже? Ну, теперь делает !): -)

4. ** Эстетика: Сделать их красивее! (Виноват мой OCD!)

Тем не менее, я заметил, прочитав через различные сайты, связанные с SEO, что многие веб-мастера фактически добавляют расширения файлов к динамическим URI, например:

Действительный URI может быть: http://www.example.com/article

Тем не менее, веб-мастер выполнит переписку, чтобы сделать статичность URI «Outlook», например: http://www.example.com/article.html

Логика этого заключается в том, что в основном поисковая система назначает более высокий рейтинг статическим страницам (которые, по-видимому, с меньшей вероятностью могут измениться). (Хотя я не являюсь экспертом в области SEO, я лично сам не задумываюсь об этой идее. Я считаю, что с учетом умов Google и алгоритмов Bing это будет немного больше, чем поддельный файл расширение, чтобы вы попали в позицию полюса SERP!)

Для получения дополнительной информации об именовании URI, я рекомендую прочитать следующие статьи:

Тим Бернерс-Ли:

Советы W3C QA:

Брайан Келли (UK Web Focus /UKOLN - Университет Бата):

Надеюсь, это поможет!

ответил Jordan Clark 18 WedEurope/Moscow2013-12-18T20:21:45+04:00Europe/Moscow12bEurope/MoscowWed, 18 Dec 2013 20:21:45 +0400 2013, 20:21:45
2

Я полностью согласен со всеми ответами, изложенными выше. Просто добавив, что одна из причин, почему расширения скрыты в URL-адресе, - это безопасность. Если это просто, если вы не раскрываете расширение в URL-адресе, немного сложно понять технологию, на которой было создано приложение. Так что скажем, что страница сделана в PHP, а расширение не скрыто, тогда хакер может потенциально оценить уязвимости PHP и использовать его для выполнения некоторых зловредных действий.

ответил Vishal Raj 27 MarpmThu, 27 Mar 2014 14:25:52 +04002014-03-27T14:25:52+04:0002 2014, 14:25:52
1

Вы скрываете расширения страниц или нет, люди все еще могут знать, какую технологию вы использовали. Используя cURL, вы не можете получить свою технологию, извлекая информацию заголовка.

curl -I -L rembatvideo.ga

Затем вы увидите что-то вроде вашей технологии, запроса кеша, соединения и т. д.

ответил Hans Isaa 8 +03002016-10-08T12:30:11+03:00312016bEurope/MoscowSat, 08 Oct 2016 12:30:11 +0300 2016, 12:30:11
0

Полностью согласен, как объясняет «Стивен Эстермиллер», но я хотел бы упомянуть об этом, чтобы скрыть расширение URL-адресов. И для этого вам нужно использовать правило перезаписи .htaccess , вот скрипт, который поможет вам:

Перенаправить внешние .php запросы на URL без ссылки

RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/
RewriteRule ^(.+)\.php$ http://example.com/folder/$1 [R=301,L]
ответил Rajesh Magar 15 Mayam13 2013, 09:49:38

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132