ແຍກ Connection Header ຂອງ HTTP ເປັນ Token ທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ
ແຍກທຸກຕົວເລືອກ Connection ໂດຍບໍ່ສົນຕົວພິມ ເມື່ອ forward proxy ພົບ keep-alive ແລະ Upgrade ໃນ field HTTP/1.1 ດຽວກັນ.
ຄ່າເຫຼົ່ານີ້ບໍ່ແມ່ນການສະກົດທີ່ແຂ່ງກັນຂອງໂໝດດຽວ:
Connection: Upgrade
Connection: keep-alive, Upgrade
ອັນທີສອງລະບຸຕົວເລືອກການເຊື່ອມຕໍ່ສອງອັນ. HTTP ກຳນົດ Connection ເປັນລາຍການທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ ໂດຍຊື່ຕົວເລືອກບໍ່ສົນຕົວພິມ. ໂຄ້ດທີ່ປຽບທຽບຄ່າທັງໝົດກັບສະຕຣິງ Upgrade ຢ່າງແທ້ຈິງຈະພາດລາຍການທີ່ຖືກຕ້ອງທີ່ມີຕົວເລືອກນັ້ນ.
ສຳລັບການສົ່ງຕໍ່ປົກກະຕິ, ຕົວກາງ HTTP ຈະແຍກ field ທີ່ເຂົ້າມາ, ລຶບ field ທີ່ຖືກລະບຸໂດຍຕົວເລືອກຂອງມັນ, ແລ້ວລຶບ Connection ເອງ ຫຼືແທນມັນດ້ວຍຕົວເລືອກຄວບຄຸມຂອງຕົວກາງເອງສຳລັບການເຊື່ອມຕໍ່ຕໍ່ໄປ.
ການລຶບພຽງ field Keep-Alive ທີ່ຂຽນຕາຍໂຕບໍ່ພຽງພໍ. ຂໍ້ຄວາມສາມາດລະບຸ field ອື່ນທີ່ກ່ຽວກັບການເຊື່ອມຕໍ່ໃນລາຍການ, ແລະ field ນັ້ນຕ້ອງບໍ່ຮົ່ວໄຫຼເຂົ້າການສົ່ງຕໍ່ປົກກະຕິ.
ການຮອງຮັບການອັບເກຣດໂປຣໂຕຄອນຕ້ອງມີການຈັດການຢ່າງຕັ້ງໃຈຕໍ່ການເຊື່ອມຕໍ່ສອງອັນ ແລະ ໂປຣໂຕຄອນໃໝ່. ການກັອບປີ້ Upgrade header ທີ່ເຂົ້າມາແບບປິດຕາ ບໍ່ແມ່ນການຈັດຕັ້ງການສົ່ງຕໍ່ນັ້ນ.
ເມື່ອບຣາວເຊີໜຶ່ງເຮັດວຽກໄດ້ ແລະ ອີກອັນໜຶ່ງລົ້ມເຫຼວ, ໃຫ້ປຽບທຽບຄ່າ field ຕົວຈິງທັງສອງຂ້າງຂອງຕົວກາງ. ຄວາມແຕກຕ່າງລະຫວ່າງ token ດຽວ ແລະ ລາຍການສອງ token ສາມາດເຜີຍຂໍ້ຜິດພາດຂອງຕົວແຍກໄດ້ໂດຍບໍ່ຕ້ອງໃຫ້ບຣາວເຊີລຽນແບບການຈັດຮູບແບບທີ່ແນ່ນອນຂອງບຣາວເຊີອື່ນ.
ນີ້ກ່ຽວຂ້ອງກັບຂໍ້ຄວາມ HTTP ທີ່ proxy ແຍກ. ອຸໂມງ HTTPS CONNECT ປົກກະຕິບໍ່ເປີດເຜີຍ field Connection ຂອງເວັບໄຊທີ່ເຂົ້າລະຫັດໃຫ້ proxy ນັ້ນ.