Php 获取网页的文件类型

Php 获取网页的文件类型,php,asp.net,jakarta-ee,web,server-side-scripting,Php,Asp.net,Jakarta Ee,Web,Server Side Scripting,是否可以获取网页的文件类型。 我有时会看到这样的网页: random.com/game 游戏的文件类型是什么 我当然可以尝试猜测文件类型,如game.html、game.php等,但有没有办法得到它?不,这是不可能的。这有几个原因: /game可以是子目录。在这种情况下,该文件可以是为该页面提供服务的web服务器的任何默认索引页面之一 /game可以通过服务器路由配置为指向站点上完全不同的位置 /game可以是web应用程序中的一条路径。在本例中,页面没有单个文件。服务器可以将请求路由到应用程序

是否可以获取网页的文件类型。 我有时会看到这样的网页:

random.com/game

游戏的文件类型是什么


我当然可以尝试猜测文件类型,如game.html、game.php等,但有没有办法得到它?

不,这是不可能的。这有几个原因:

  • /game
    可以是子目录。在这种情况下,该文件可以是为该页面提供服务的web服务器的任何默认索引页面之一

  • /game
    可以通过服务器路由配置为指向站点上完全不同的位置

  • /game
    可以是web应用程序中的一条路径。在本例中,页面没有单个文件。服务器可以将请求路由到应用程序代码,应用程序代码使用任意数量的文件来构造页面


  • 您可以通过查看HTTP头来读取服务器为内容提供服务的内容(MIME类型),但是无法通过HTTP/HTTPS从远程主机准确地确定实际的文件类型

    例如,以下是对成功的网页请求的响应:

    HTTP/1.1 200 OK
    Date: Mon, 08 Dec 2014 21:50:36 GMT
    Server: Apache/2.2.27 (FreeBSD) PHP/5.5.11 mod_ssl/2.2.27 OpenSSL/0.9.8y DAV/2
    Content-Length: 311
    Connection: close
    Content-Type: text/html; charset=iso-8859-1
    

    所以服务器告诉您页面是text/html。。。但它可以由任何数量的服务器端技术(PHP、Java、Python等)生成。

    游戏是一个目录。它通常是random.com/game/index.html,但index.html是可以理解的。这可能是一个重写的URL,然后会导致一个html页面、一个PHP页面等。为什么需要猜测文件类型?请尝试捕获响应标题。@viruzz如果没有它,您无法发送HTTP请求filetype@L4m0r什么?当然可以:
    $wget-Shttp://random.com/game
    。它告诉我<代码>内容类型:text/html以及其他信息。如果不指定文件类型,则无法发出HTTP请求。@L4m0r Um。。是的,你可以