http/https始まりの画像のURLはリクエストしたら何が返ってくる?

結論

Q.) http/https始まりの画像のURLはリクエストしたら何が返ってくる?

A.) バイナリ


モチベーション

tokizuoh.hatenablog.com

昨日上記の記事を書いたが、データURL(data:始まりのURL)はbase64エンコードされた値をブラウザがデコードして画像を表示する。

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAACWCAAAAAAZai4+AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfmBAcXIg2k9EMuAAACaElEQVR42u3V3XKiMAAF4L7/G5xErYBaq9v6s6OtLlD/ocBDbQCB7Ey7FbgwF+fcSIA5fgYTHhIj83BvAFlkkUUWWWQZErLIIsuEkEUWWSaELLLIMiFkkUWWCSGLLLJMCFlkkWVCyCKLLBNCFllkmRCyyLoD6wXXgz2K+Okwfht05OAtvqm/Ycn3rM9O0bj9pzEa5cej6AZV05JvWeEYReMSIz9PqEYzyNUpeJOY/axqXPI1K5g/SZSNUyy0S4Cbfv6BCP5valPyNWuXT/F1NMCmurRCPz94xKqclB5+ZwcvsOOmJTewouPx6JaNHeyrS8+Y5wdzTMqTLsRRfXzkHw1LfmalORWNIfDx3BP2r3M6srDNT29hVTdPMYiTqH+dtIYl9Vjl0pbv2a/289M+utXNYRfrZJHaWpTUY20A2wsCz84ekcAhP32A0O52IV0hTu1KarH812W2u8Q2xkkiq0ap3z5VM7FqW1KHVcZLZ7xfzX9fv6geoxO3LWnEUrtNkAyrf+tQv3gQkJe2JY1YYdo4KbbFJabatchCF08tS+qwYutxW8y4mv91saQttfaqLOCcpb5jNimpNVtjWJ9ZtYPXJLkI7NLRDkJ7Zvt0ga3RCdqU1GOpLcfxgovnoJt2zNDzosTv6W9Z9QgX2VdOWpTUZCUbke+E3ewXRkNAqHfwSFt3c1jp8ld/e7d5SV1Wcp5ZUtqLMB/Fa0dKZ60Vqpfy7srrhU1LbmTdNWSRRZYJIYssskwIWWSRZULIIossE0IWWWSZELLIIsuEkEUWWSaELLLIMiFkkUWWCSGLLLJMCFlkkWVC/gI+i6YMw2buTAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wNC0wOFQwODozNDoxMyswOTowMPL3fUAAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDQtMDhUMDg6MzQ6MTMrMDk6MDCDqsX8AAAAAElFTkSuQmCC

f:id:tokizuoh:20220408095149p:plain

では、http/httpsで画像をリクエストした場合にどのようなレスポンスが返ってくるのか?という疑問が浮かんだので調べる。

画像のURLに対してcurlした時のレスポンス

> curl https://user-images.githubusercontent.com/37968814/162342676-ca1c4f9d-50cf-40d8-af32-edf08aa45fc5.png
Warning: Binary output can mess up your terminal. Use "--output -" to tell 
Warning: curl to output it to your terminal anyway, or consider "--output 
Warning: <FILE>" to save to a file.

レスポンスはバイナリ。警告にしたがって出力先を指定する。

> curl --output hoge.png  https://user-images.githubusercontent.com/37968814/162342676-ca1c4f9d-50cf-40d8-af32-edf08aa45fc5.png 

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   864  100   864    0     0  21600      0 --:--:-- --:--:-- --:--:-- 22153

> ls  
hoge.png

画像ファイルがバイナリから.pngに変換されて保存がされたみたい。

http/https始まりの画像のURLに対してリクエストした場合はバイナリが返ってくることが分かった。

参考