在LiveID Web认证场景中,当客户端应用程序收到“Clearcookie”请求时,它负责清除授权cookie,并应通过HTTP返回任何GIF图像来确认成功。在ASP.NET-MVC中使用LiveID Web身份验证的引用实现如下:
if (Request["action"]=="clearcookie")
{
string contentType;
byte[] content;
wll.GetClearCookieResponse(out contentType, out content);
return this.File(content, contentType);
}
其中,wll.getclearCookeierResponse实现为:
public void GetClearCookieResponse(out string type, out byte[] content)
{
const string gif =
"R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAEALAAAAAABAAEAAAIBTAA7";
type = "image/gif";
content = Convert.FromBase64String(gif);
}
因此getClearCookiereResponse方法创建了字节[]数组,其中包含微小的硬编码GIF。
有没有什么特别的原因需要用GIF来回应?为什么不只是纯文本(“OK”)或JSON?
是否有其他(除了LiveID)协议使用返回的GIF作为响应?我问是因为我想知道在需要类似通信场景的项目中是否有任何理由采用这种解决方案。