protected function _getEtag()
    {
        $response = $this->getResponse();

        if($response->isDownloadable())
        {
            $info = $response->getStream()->getInfo();
            $etag = sprintf('"%x-%x-%s"', $info['ino'], $info['size'],base_convert(str_pad($info['mtime'],16,"0"),10,16));
        }
        else $etag = crc32($this->getUser()->getId().'/###'.$this->getResponse()->getContent());

        return $etag;
    }