Каковы все различные типы файлов DHTML? - PullRequest
0 голосов
/ 09 мая 2019

Я пишу сканер веб-страниц, и мне нужно знать все ссылки на странице, которые будут выплевывать мне mimetype text / html, если бы я посетил эту ссылку (без фактического запроса). Я выполняю это, просто просматривая тип файла и проверяя, находится ли он в списке типов файлов, которые, как я знаю, будут иметь тип mime html:

        link = urlsplit(url)
        extension = link.path.lower().split('.')[-1]
        # check if they gave us a directory (which spits out a .html index)
        if "/" in extension or extension == "php" or extension == "aspx" or extension == "asp":
            extension = "html"

Итак, у меня есть .html, .php, .aspx и .asp. Что еще там?

P.S. Я в курсе, как работают заголовки контента и типы пантомимы и все это работает. Я знаю, что это не идеально, но для меня нереально получить тип контента для каждой ссылки, с которой я сталкиваюсь. Поэтому, пожалуйста, просто помогите мне, перечислив общие типы файлов, которые обслуживают типы mime html. Мне не нужна помощь в представлении всех сценариев, когда это даст мне неправильный ответ, потому что это незначительно для моих целей и не помогает мне.

1 Ответ

0 голосов
/ 09 мая 2019

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

В качестве простой демонстрации рассмотрим файл с именем index.php, который имеет следующее:

<?php
header("Content-Type: image/jpeg");
file_put_contents( "Foo.png" ); // "Foo.png" is actually a renamed GIF
?>
  1. URI http://(server)/index.php
  2. Но HTTP-ответ имеет тип содержимого image/jpeg
  3. Но фактический файл, который подается, - "Foo.png"
  4. ... но этот файл на самом деле image/gif!

Кроме того, я отмечаю, что в вашем вопросе упоминается "DHTML".Я не думаю, что это актуальное модное слово уже более десяти лет (кажется, я в последний раз слышал, что оно использовалось в 2005-м), и это потому, что сегодня в значительной степени каждая веб-страница динамична для некоторыхстепень, что делает термин излишним.Я полагаю, что «AJAX» занял свое место в качестве краткого способа ссылки на веб-страницу с использованием значительных сценариев, даже если на самом деле это не включало XMLHttpRequest.

...