content length 0 means unknown