Discuz后台可以设置会员头像是动态还是静态。动态头像的请求类似 http://xiaozhong.biz/ucs/avatar.php?uid=3&size=middle 由avatar.php文件处理在响应头内给出文件实际地址,比如 Location http://xiaozhong.biz/ucs/images/noavatar_middle.gif
, 静态头像的请求则是直接GET图像文件实际地址。
动态方式需要PHP处理请求生成实际路径,存在一定开销。
静态方式在生成帖子页面时即生成头像实际地址,客户端直接请求头像的地址不需要PHP再次处理。但如果会员没上传并使用头像功能,则DZ还是会按照固定方式生成头像路径而并不判断会员是否有头像,结果就是客户端当请求实际上无效的头像图片地址得到服务端404响应之后会再次尝试,服务端将会重复两次去获得该文件造成连接和查询的浪费。
考虑到动态方式虽然需要avatar.php处理请求返回实际路径,但在页面生成时无需生成实际路径而节省一定开销,再加上即使用户无头像也不会造成两次对头像文件的请求,所以动态头像方式应该比静态方式占优。