implemented cache control through HTTP header