此网址如何响应图片或嵌入该图片的网页?

时间:2018-02-02 14:59:23

标签: html .htaccess web-services http webserver

this gif of Michael Jackson eating Tide Pods的网址有一些我以前从未见过的有趣行为。我是一个狂热的互联网用户,但我对HTTP的了解有限。我知道网络服务器可以响应它想要的请求并提供元数据来帮助浏览器确定它实际响应的内容类型,因此.gif网址实际上可以返回其他内容并不太令人惊讶而不是.gif并正确显示。让我感到困惑的是.gif网址生成的网页如何将自己包含在img标记中。

这只是某种不透明的服务器端魔术吗? (即服务器正在使用HTTP请求标头来猜测请求是来自<img>或浏览器地址栏中的URL)

1 个答案:

答案 0 :(得分:3)

在这种情况下,似乎有所作为的是text/html标题中存在accept:

尝试:

curl 'https://media1.tenor.com/images/f1fec382c29ce096bfbacd7844c54e0f/tenor.gif' \
-H 'accept: text/html'

然后尝试:

curl 'https://media1.tenor.com/images/f1fec382c29ce096bfbacd7844c54e0f/tenor.gif' \
-H 'accept: */*'

List of default Accept values

  

请求图片时,例如通过HTML <img>元素,   user-agent经常设置一个特定的媒体类型列表:

|User Agent|Value                       |
-----------------------------------------
|Firefox   |*/* (since Firefox 47)      |
|Safari    |*/*                         |
|Chrome    |image/webp,image/*,*/*;q=0.8|