HTTP Connection ਹੈਡਰਾਂ ਨੂੰ ਕਾਮਾ ਨਾਲ ਵੱਖ ਕੀਤੇ ਟੋਕਨਾਂ ਵਜੋਂ ਪਾਰਸ ਕਰੋ
ਇੱਕੋ HTTP/1.1 ਫੀਲਡ ਵਿੱਚ keep-alive ਅਤੇ Upgrade ਮਿਲਣ 'ਤੇ ਹਰ Connection ਚੋਣ ਨੂੰ ਕੇਸ-ਅਸੰਵੇਦੀ ਤੌਰ 'ਤੇ ਪਾਰਸ ਕਰੋ।
ਇਹ ਮੁੱਲ ਇੱਕ ਹੀ ਮੋਡ ਦੀਆਂ ਮੁਕਾਬਲਾ ਕਰਨ ਵਾਲੀਆਂ ਸਪੈਲਿੰਗਾਂ ਨਹੀਂ ਹਨ:
Connection: Upgrade
Connection: keep-alive, Upgrade
ਦੂਜਾ ਦੋ ਕਨੈਕਸ਼ਨ ਚੋਣਾਂ ਦੀ ਸੂਚੀ ਦਿੰਦਾ ਹੈ। HTTP Connection ਨੂੰ ਕਾਮਾ ਨਾਲ ਵੱਖ ਕੀਤੀ ਸੂਚੀ ਵਜੋਂ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਚੋਣਾਂ ਦੇ ਨਾਮ ਕੇਸ-ਅਸੰਵੇਦੀ ਹੁੰਦੇ ਹਨ। ਪੂਰੇ ਮੁੱਲ ਦੀ ਸਹੀ Upgrade ਸਟ੍ਰਿੰਗ ਨਾਲ ਤੁਲਨਾ ਕਰਨ ਵਾਲਾ ਕੋਡ ਉਸ ਚੋਣ ਵਾਲੀ ਵੈਧ ਸੂਚੀ ਨੂੰ ਛੱਡ ਦਿੰਦਾ ਹੈ।
ਆਮ ਫਾਰਵਰਡਿੰਗ ਲਈ, HTTP ਵਿਚੋਲਾ ਆਉਣ ਵਾਲੀ ਫੀਲਡ ਨੂੰ ਪਾਰਸ ਕਰਦਾ ਹੈ, ਆਪਣੀਆਂ ਚੋਣਾਂ ਨਾਲ ਨਾਮਿਤ ਫੀਲਡਾਂ ਨੂੰ ਹਟਾਉਂਦਾ ਹੈ, ਫਿਰ Connection ਆਪ ਨੂੰ ਹਟਾਉਂਦਾ ਹੈ ਜਾਂ ਅੱਗੇ ਦੇ ਕਨੈਕਸ਼ਨ ਲਈ ਵਿਚੋਲੇ ਦੀਆਂ ਆਪਣੀਆਂ ਕੰਟਰੋਲ ਚੋਣਾਂ ਨਾਲ ਬਦਲ ਦਿੰਦਾ ਹੈ।
ਸਿਰਫ਼ ਹਾਰਡਕੋਡ ਕੀਤੀ Keep-Alive ਫੀਲਡ ਹਟਾਉਣਾ ਕਾਫ਼ੀ ਨਹੀਂ ਹੈ। ਇੱਕ ਸੁਨੇਹਾ ਸੂਚੀ ਵਿੱਚ ਕਨੈਕਸ਼ਨ-ਵਿਸ਼ੇਸ਼ ਹੋਰ ਫੀਲਡ ਦਾ ਨਾਮ ਦੇ ਸਕਦਾ ਹੈ, ਅਤੇ ਉਹ ਫੀਲਡ ਆਮ ਫਾਰਵਰਡਿੰਗ ਵਿੱਚ ਨਹੀਂ ਲੀਕ ਹੋਣਾ ਚਾਹੀਦਾ।
ਪ੍ਰੋਟੋਕੋਲ ਅੱਪਗ੍ਰੇਡ ਦਾ ਸਮਰਥਨ ਕਰਨ ਲਈ ਦੋਵੇਂ ਕਨੈਕਸ਼ਨਾਂ ਅਤੇ ਨਵੇਂ ਪ੍ਰੋਟੋਕੋਲ ਦੀ ਸੁਚੇਤ ਸੰਭਾਲ ਲੋੜੀਂਦੀ ਹੈ। ਆਉਣ ਵਾਲੇ Upgrade ਹੈਡਰਾਂ ਨੂੰ ਅੰਨ੍ਹੇਵਾਹ ਕਾਪੀ ਕਰਨਾ ਉਸ ਤਬਾਦਲੇ ਦਾ ਅਮਲ ਨਹੀਂ ਹੈ।
ਜਦੋਂ ਇੱਕ ਬ੍ਰਾਊਜ਼ਰ ਕੰਮ ਕਰਦਾ ਹੈ ਅਤੇ ਦੂਜਾ ਫੇਲ੍ਹ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਵਿਚੋਲੇ ਦੇ ਦੋਵੇਂ ਪਾਸਿਆਂ ਦੇ ਅਸਲ ਫੀਲਡ ਮੁੱਲਾਂ ਦੀ ਤੁਲਨਾ ਕਰੋ। ਇੱਕ ਟੋਕਨ ਅਤੇ ਦੋ-ਟੋਕਨ ਸੂਚੀ ਵਿਚਕਾਰ ਅੰਤਰ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਦੂਜੇ ਬ੍ਰਾਊਜ਼ਰ ਦੀ ਸਹੀ ਫਾਰਮੈਟਿੰਗ ਦੀ ਨਕਲ ਕਰਨ ਦੀ ਮੰਗ ਕੀਤੇ ਬਿਨਾਂ ਪਾਰਸਰ ਗਲਤੀ ਨੂੰ ਜ਼ਾਹਰ ਕਰ ਸਕਦਾ ਹੈ।
ਇਹ ਪ੍ਰੌਕਸੀ ਵੱਲੋਂ ਪਾਰਸ ਕੀਤੇ ਜਾਂਦੇ HTTP ਸੁਨੇਹਿਆਂ ਬਾਰੇ ਹੈ। ਇੱਕ ਆਮ HTTPS CONNECT ਟਨਲ ਉਸ ਪ੍ਰੌਕਸੀ ਨੂੰ ਐਨਕ੍ਰਿਪਟਡ ਵੈੱਬਸਾਈਟ ਦੀ Connection ਫੀਲਡ ਨਹੀਂ ਦਿਖਾਉਂਦਾ।