Source: https://www.rfc-editor.org/rfc/rfc2616.pdf