gpt4 book ai didi

html - 通过URL后缀区分HTML文档

转载 作者:可可西里 更新时间:2023-11-01 16:51:48 26 4
gpt4 key购买 nike

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

有没有办法仅从请求 URL 中区分它是指向 HTML 文档还是一些其他数据(例如 .png.css, .js, ...)?这应该在请求时确定,因此等待 Content-Type 不是一个选项。

HTML 网址

google.com/, stackoverflow.com, https://en.wikipedia.org/wiki/Uniform_Resource_Locator, https://www.google.de/search?q=content-length, http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html

非 HTML 网址

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部分(例如,通过jscsspngjpg , ...) 会工作。另一种方法是按 What are common file extensions for web programming languages? 过滤并包括目录和域。

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

最佳答案

Is there a way to distinguish, from only the request URL, whether it points to a HTML document or some additional data (f.ex. .png, .css, .js, ...)? This should be determined at the time of the request, so waiting for Content-Type is not an option.

不,这是不可能的。

网络服务器可以响应请求做任何它想做的事情。

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

很多 url 甚至没有扩展名,因此一般检查扩展名不是解决方案。

最好(最快)的方法是查看 Content-Type header 字段(假设它与数据相对应)。

如果客户端不想下载完整的响应,只是为了检查Content-Type,可以发起一个HEAD请求,它只会返回HTTP header

关于html - 通过URL后缀区分HTML文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34656221/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com