Split header and content transfer explicitly

As the title describes, we should split header and content transfer explicitly in order to future compression implementation.