在 LiveId Web Auth 场景中,当客户端应用程序收到“clearcookie”请求时,它负责清除授权 cookie,并应通过 http 返回任何 GIF 图片来确认成功。在 asp.net-mvc 中使用 liveid web auth 的参考实现如下所示:
if (Request["action"]=="clearcookie")
{
string contentType;
byte[] content;
wll.GetClearCookieResponse(out contentType, out content);
return this.File(content, contentType);
}
其中 wll.GetClearCookieResponse 实现为:
public void GetClearCookieResponse(out string type, out byte[] content)
{
const string gif =
"R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAEALAAAAAABAAEAAAIBTAA7";
type = "image/gif";
content = Convert.FromBase64String(gif);
}
因此 GetClearCookieResponse 方法创建了包含微小硬编码 GIF 的 byte[] 数组。
是否有任何特殊原因需要使用 GIF 进行响应?为什么不只是纯文本(“OK”)或 JSON?
是否有任何其他(除了 LiveId)协议使用返回 GIF 作为响应?我问是因为我想知道是否有任何理由在需要类似通信场景的项目中采用此解决方案。