Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过URL后缀区分HTML文档_Html_Http_Url_Language Agnostic - Fatal编程技术网

通过URL后缀区分HTML文档

通过URL后缀区分HTML文档,html,http,url,language-agnostic,Html,Http,Url,Language Agnostic,浏览器收到的HTML文件在路径上可以有许多不同的文件扩展名:.HTML,.htm,//code>,.php,.asp,.stm,.cgi,等等 是否有一种方法可以从请求URL中区分它是指向HTML文档还是其他数据(f.ex..png,.css,.js,…)?这应该在请求时确定,因此等待内容类型不是一个选项 HTML网址 google.com/,stackoverflow.com,https://en.wikipedia.org/wiki/Uniform_Resource_Locator,http

浏览器收到的HTML文件在路径上可以有许多不同的文件扩展名:
.HTML
.htm
//code>,
.php
.asp
.stm
.cgi
,等等

是否有一种方法可以从请求URL中区分它是指向HTML文档还是其他数据(f.ex.
.png
.css
.js
,…)?这应该在请求时确定,因此等待内容类型不是一个选项

HTML网址
google.com/
stackoverflow.com
https://en.wikipedia.org/wiki/Uniform_Resource_Locator
https://www.google.de/search?q=content-长度
http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html

非HTML URL
http://cdn.sstatic.net/stackoverflow/img/apple-touch-icon@2.png?v=73d79a89bded
http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
http://cdn.sstatic.net/stackoverflow/all.css?v=aaf07438bdbd

也许过滤非html部分(例如,通过
js
css
png
jpg
,…)会起作用。另一种方法是按目录和域进行筛选并包括它们

它一定不是完美的,足够近就好了。

不,那是不可能的(假设你在寻找可靠的东西)


通常,URI的格式独立于它标识的资源的媒体类型。这就是网络的工作原理。

不,这是不可能的(假设你正在寻找可靠的东西)


通常,URI的格式独立于它标识的资源的媒体类型。这就是网络的工作原理。

一旦你点击路径段,URL是完全任意的

有时URL会包含与HTTP服务器硬盘上的文件名匹配的内容有时该文件名会提供关于其中包含何种数据的线索。通常,它会给出服务器将如何执行生成任何类型内容的程序的线索

HTTP资源的权威性描述是内容类型响应头(有时服务器会在那里提供错误的信息)。

一旦你点击路径段,URL是完全任意的

有时URL会包含与HTTP服务器硬盘上的文件名匹配的内容有时该文件名会提供关于其中包含何种数据的线索。通常,它会给出服务器将如何执行生成任何类型内容的程序的线索


HTTP资源是什么的权威性描述是内容类型响应头(有时服务器会给出错误的信息)。

下面的答案不推荐使用。在Python中,标准库中有一个函数,它正是这样做的

旧答案 作为一种推理:包含文件扩展名(如
.html
)的URL是具体的实现。当您从
cgi
更改为任何内容时,您将被迫放弃URL、断开链接或保留不正确的版本。另见


    • 下面的答案不推荐使用。在Python中,标准库中有一个函数,它正是这样做的

      旧答案 作为一种推理:包含文件扩展名(如
      .html
      )的URL是具体的实现。当您从
      cgi
      更改为任何内容时,您将被迫放弃URL、断开链接或保留不正确的版本。另见

      是否有一种方法可以区分请求URL是否 指向HTML文档或一些附加数据(f.ex..png..css、, .js…)?这应该在请求时确定,因此 等待内容类型不是一个选项

      不,这是不可能的。

      Web服务器可以做任何它想做的事情来响应请求

      有些响应可以是静态的,即磁盘上的文件(但即使这样,扩展名也不能保证文件的真实内容)-其他响应可以是完全动态的,只有服务器决定返回哪种数据(它甚至可以返回一个.jpg文件来响应一个.html请求——或者在现实世界中经常发生相反的情况:返回一个带有该jpg下载链接的html页面的.jpg url)

      很多url甚至没有扩展名,所以通常检查扩展名并不是解决方案

      最好(最快)的方法是查看
      内容类型
      标题字段(假设它与数据对应)

      如果客户端不想下载完整响应,只需检查
      内容类型
      ,就可以发出
      请求,该请求只会返回
      HTTP头

      是否有一种方法可以区分请求URL是否 指向HTML文档或一些附加数据(f.ex..png..css、, .js…)?这应该在请求时确定,因此 等待内容类型不是一个选项

      不,这是不可能的。

      Web服务器可以做任何它想做的事情来响应请求

      有些响应可以是静态的,即磁盘上的文件(但即使这样,扩展名也不能保证文件的真实内容)-其他响应可以是完全动态的,只有服务器决定返回哪种数据(它甚至可以返回一个.jpg文件来响应一个.html请求——或者在现实世界中经常发生相反的情况:返回一个带有该jpg下载链接的html页面的.jpg url)

      很多url甚至没有扩展名,所以通常检查扩展名并不是解决方案

      最好的(最快的)方法是看