เซสชันคง IP
เซสชันคง IP บอกให้บริการพร็อกซีรักษา IP ขาออกหนึ่งที่อยู่สำหรับคำขอที่เกี่ยวข้อง แอปพลิเคชันของคุณสามารถเปิดหน้า ส่งข้อมูล และรับผลลัพธ์ผ่านที่อยู่นั้น ขณะที่การกำหนดยังมีผลและขาออกยังพร้อมใช้ เมื่อจบงาน แอปสามารถเริ่มเซสชันแยกสำหรับงานถัดไป
โดยทั่วไปนี่เป็นโหมดเข้าถึงกลุ่ม IP แบบหมุนเวียน การเปรียบเทียบในภาพรวมอยู่ในพร็อกซี IP คงที่กับพร็อกซีแบบหมุนเวียน บทความนี้อธิบายการรักษาที่อยู่สำหรับงานหนึ่ง อายุของการกำหนดนั้น และสิ่งที่อาจขัดจังหวะ
บริการรักษา IP ที่เลือกไว้อย่างไร
บริการต้องแยกได้ว่าการเชื่อมต่อใดอยู่ในงานเดียวกัน วิธีที่พบบ่อยคือตัวระบุเซสชันในการตั้งค่าพร็อกซี เมื่อเชื่อมต่อครั้งแรก บริการเลือกขาออกและผูกกับตัวระบุนั้น การเชื่อมต่อภายหลังที่ใช้การตั้งค่าเซสชันเดียวกันจะใช้ขาออกที่กำหนดไว้ขณะเซสชันยังทำงาน
ตัวอย่างเช่น การทดสอบเบราว์เซอร์ใช้ชื่อเซสชัน task1 การเชื่อมต่อแรกได้รับ IP ขาออกตัวอย่าง 198.51.100.27 การเปิดหน้าถัดไปและส่งแบบฟอร์มภายใต้การกำหนดเดียวกันที่ยังมีผลก็ใช้ที่อยู่นี้ ชื่อใช้ระบุการกำหนด ไม่ได้บรรจุค่ารหัสของ IP หรือจัดสรร IP นั้นไว้อย่างถาวร
ตัวระบุเซสชันอาจต่อท้ายชื่อผู้ใช้พร็อกซี เลือกผ่าน API หรือแทนด้วยพอร์ตที่ตั้งค่าไว้ บางบริการมีเซสชันเริ่มต้นโดยไม่ต้องตั้งชื่อแยกด้วย ทั้งหมดเป็นวิธีจัดการการกำหนดที่ต่างกัน จึงไม่มีรูปแบบชื่อผู้ใช้หรือหมายเลขพอร์ตสากลสำหรับเซสชันคง IP
เซสชันคง IP อาจครอบคลุมหลายการเชื่อมต่อเครือข่าย ต่างจากการใช้การเชื่อมต่อที่เปิดอยู่เพียงเส้นเดียวซ้ำ เพราะคำขอใน TCP แบบปกติเส้นเดิมรักษา IP ขาออกอยู่แล้ว หากต้องการรู้ว่าเซสชันรักษาที่อยู่ข้ามการเชื่อมต่อได้หรือไม่ ควรสังเกตตอนเปิดการเชื่อมต่อใหม่ด้วยการตั้งค่าเซสชันเดิม
เมื่อหลายคำขอต้องใช้ IP เดียวกัน
การทดสอบเบราว์เซอร์หลายขั้นตอนเป็นตัวอย่างชัดเจน อาจลงชื่อเข้าใช้ เปิดหน้าการตั้งค่า ส่งการเปลี่ยนแปลง และตรวจผล การคง IP ต้นทางช่วยตัดการเปลี่ยนแปลงที่ไม่จำเป็นระหว่างทดสอบ โดยเฉพาะเมื่อเว็บไซต์ใช้ที่อยู่เป็นหนึ่งในเงื่อนไขตรวจสอบเซสชัน
การทดสอบการซื้อหรือจองอาจต้องการประสบการณ์ตามภูมิภาคที่สม่ำเสมอเช่นกัน แอปค้นหา เลือกตัวเลือก และตรวจขั้นถัดไปผ่านขาออกเดียว ช่วยรักษาตำแหน่งเครือข่ายให้ตรงกันระหว่างขั้นตอน แต่เว็บไซต์อาจใช้การตั้งค่าบัญชี รายละเอียดการจัดส่ง หรือคุกกี้เพื่อตัดสินใจว่าจะแสดงอะไรด้วย
อีกกรณีคือลำดับการเรียก API ที่บริการปลายทางคาดว่าการกระทำที่เกี่ยวข้องจะมาจากที่อยู่ต้นทางเดียวกัน การกำหนดควรครอบคลุมทั้งลำดับ รวมช่วงหยุดและการลองใหม่ ในทางกลับกัน การค้นหน้าสาธารณะที่ไม่เกี่ยวข้องกันไม่จำเป็นต้องใช้ IP เดียวเสมอ การรักษาที่อยู่มีประโยชน์เมื่องานต้องการความต่อเนื่อง ไม่ได้ทำให้ชื่อเสียงของที่อยู่ดีขึ้นหรือรับประกันว่าเว็บไซต์จะยอมรับคำขอ
เซสชันพร็อกซีไม่ได้รักษาสถานะลงชื่อเข้าใช้เว็บไซต์
บริการพร็อกซีควบคุมที่อยู่ขาออก ส่วนเว็บไซต์ควบคุมเซสชันของตัวเอง เช่น สถานะลงชื่อเข้าใช้ ตะกร้าสินค้า หรือความคืบหน้าในแบบฟอร์ม เบราว์เซอร์หรือไคลเอนต์ HTTP มักเก็บสถานะผ่านคุกกี้หรือโทเค็นตรวจสอบสิทธิ์ ทั้งสองระบบอาจใช้คำว่าเซสชันเหมือนกัน แต่เก็บข้อมูลคนละอย่าง
จึงเป็นไปได้ที่สถานะลงชื่อเข้าใช้หมดอายุขณะที่ IP ขาออกยังเหมือนเดิม การล้างคุกกี้ก็อาจทำให้เว็บไซต์จำผู้ใช้ไม่ได้โดยไม่กระทบการกำหนดพร็อกซี ในทางกลับกัน เว็บไซต์อาจยอมรับสถานะลงชื่อเข้าใช้ที่ยังใช้ได้หลังเปลี่ยน IP พฤติกรรมขึ้นอยู่กับกฎของเว็บไซต์นั้น
ออบเจ็กต์ session ในไลบรารี HTTP มักเก็บคุกกี้และใช้การเชื่อมต่อซ้ำ แต่การสร้างออบเจ็กต์นั้นไม่ได้เปิดใช้เซสชันคง IP ที่บริการพร็อกซีโดยอัตโนมัติ กระบวนการที่ครบถ้วนต้องรักษาทั้งสถานะเว็บไซต์และการกำหนดพร็อกซีที่ต้องการ หากงานต่างกันห้ามใช้คุกกี้ร่วมกัน ก็ยังต้องแยกโปรไฟล์เบราว์เซอร์หรือสถานะไคลเอนต์
ระยะเวลาเซสชันหมายถึงอะไรจริง ๆ
ตัวจับเวลาสองแบบอาจถูกเรียกว่าระยะเวลาเซสชันเหมือนกัน อายุคงที่จำกัดระยะเวลาที่การกำหนดมีอยู่โดยนับจากจุดเริ่มต้น ส่วนช่วงหมดอายุเมื่อไม่มีกิจกรรมจำกัดเวลาหยุดหลังคำขอที่เข้าเงื่อนไขล่าสุด คำขอใหม่อาจเริ่มนับช่วงไม่มีกิจกรรมใหม่ โดยไม่ขยายอายุคงที่ที่แยกต่างหาก
| ขีดจำกัด | สิ่งที่เริ่มนับถอยหลัง | ผลของคำขอถัดไป |
|---|---|---|
| อายุคงที่ | การสร้างการกำหนดหรือการใช้งานครั้งแรก ตามที่บริการระบุ | ไม่เปลี่ยนเวลาหมดอายุเดิม |
| ช่วงหมดอายุเมื่อไม่มีกิจกรรม | คำขอหรือกิจกรรมล่าสุดที่บริการนับ | เริ่มนับช่วงไม่มีกิจกรรมใหม่ หากคำขอเข้าเงื่อนไขกิจกรรม |
พิจารณาเซสชันตัวอย่างสองแบบที่จำกัดสิบนาที ทั้งสองเริ่มเวลา 14:00 และมีคำขออีกครั้งเวลา 14:08 หากใช้อายุคงที่ เวลาหมดอายุยังเป็น 14:10 หากใช้ช่วงไม่มีกิจกรรม คำขอจะเลื่อนเวลาหมดอายุจากการไม่มีกิจกรรมเป็น 14:18 ดังนั้นระยะเวลาที่ระบุเท่ากันอาจให้พฤติกรรมต่างกันมากระหว่างทำงานจริง
บริการอาจใช้ทั้งสองขีดจำกัดพร้อมกัน ในกรณีนั้นการกำหนดจะสิ้นสุดเมื่อถึงขีดจำกัดใดก่อน ค่าเริ่มต้นปกติอาจต่างจากระยะเวลาสูงสุดที่ตั้งได้ด้วย การส่งทราฟฟิกต่อเนื่องอาจหลีกเลี่ยงการหมดอายุเพราะไม่มีกิจกรรม แต่ไม่ได้ยกเลิกอายุสูงสุดที่แยกไว้
การหมดอายุสิ้นสุดการกำหนดไปยังขาออกเดิม การเชื่อมต่อถัดไปอาจได้รับที่อยู่อื่นแม้ใช้ชื่อเซสชันเดิม การเชื่อมต่อที่เปิดอยู่แล้วอาจได้รับอนุญาตให้ทำจนจบหรือถูกปิด ขึ้นอยู่กับบริการ ตัวจับเวลาไม่ได้ย้ายการรับส่ง TCP ที่ยังไม่เสร็จไปยัง IP อื่น
เลือกช่วงเวลาที่ครอบคลุมงานทั้งหมด การตอบกลับช้า และช่วงหยุดที่คาดไว้ การเริ่มงานใหม่ใกล้สิ้นสุดการกำหนดเก่าทำให้เหลือเวลาน้อยกว่าระยะเวลาที่ตั้งไว้ คำขอที่มีไว้เพียงรักษาเซสชันไม่ให้ว่างก็ยังเป็นทราฟฟิกจริง และอาจถูกนับในโควตาคำขอหรือปริมาณข้อมูลของบริการ
แยกงานที่ทำพร้อมกัน
เมื่องานอิสระแต่ละงานต้องการที่อยู่ที่คงเดิม ให้แต่ละงานมีตัวระบุเซสชันของตัวเองและใช้ตัวระบุนั้นตลอดขั้นตอน โพรเซสที่โหลดหน้าถัดไปควรใช้เซสชันของงานเดิม แทนการสร้างชื่อใหม่ทุกคำขอ การลองใหม่ภายในงานนั้นไม่ควรสลับไปใช้การตั้งค่าพร็อกซีที่ไม่เกี่ยวข้องโดยไม่ตั้งใจ
สมมติว่าการทดสอบเบราว์เซอร์สองงานทำพร้อมกัน งานแรกใช้ task1 งานที่สองใช้ task2 และต่างเก็บคุกกี้ของตัวเอง หากตั้งชื่อเซสชันเหมือนกันทั้งสองงาน จะเป็นการขอให้บริการใช้การกำหนดร่วมกันเมื่อการตั้งค่าอื่นตรงกันด้วย การเปิดแท็บปกติใหม่เพียงอย่างเดียวไม่ได้สร้างการตั้งค่าพร็อกซีหรือที่เก็บคุกกี้แยก
ตัวระบุต่างกันเป็นการขอการกำหนดแยกกัน แต่ไม่ได้รับประกันในทุกบริการว่าจะได้ IP ขาออกต่างกัน การรับประกันที่อยู่ไม่ซ้ำเป็นคุณสมบัติของสินค้าอีกข้อ เซสชันคง IP ก็ไม่ได้ทำให้บัญชีคุณใช้ขาออกนั้นเพียงผู้เดียว ลูกค้ารายอื่นยังอาจใช้ที่อยู่ได้หากอยู่ในกลุ่ม IP ที่แชร์กัน
หากรองรับ หลายการเชื่อมต่อสามารถใช้เซสชันเดียวพร้อมกัน โดยใช้ขาออกร่วมและยังอยู่ภายใต้ขีดจำกัดการเชื่อมต่อและการใช้งานของบัญชี การมีชื่อเซสชันมากขึ้นไม่ได้เพิ่มขีดจำกัดเหล่านั้น ก่อนทำงานเต็มรูปแบบ ให้ตรวจทั้งจำนวนงานที่ทำพร้อมกันและจำนวนการเชื่อมต่อที่แต่ละงานเปิด
ทำไมที่อยู่อาจเปลี่ยนเร็วกว่าที่คาด
ตัวจับเวลาที่ยังไม่หมดไม่สามารถทำให้ขาออกที่ใช้ไม่ได้กลับมาทำงาน อุปกรณ์ในบ้านอาจออฟไลน์ การเชื่อมต่อมือถืออาจได้รับ IP สาธารณะใหม่ หรือเซิร์ฟเวอร์อาจติดต่อไม่ได้ ระยะเวลาที่ขออธิบายกฎด้านเวลาของการกำหนดเท่านั้น ไม่ได้รับประกันด้วยตัวเองว่าขาออกเดิมจะพร้อมใช้ตลอด
เมื่อขาออกหายไป บริการตอบสนองได้สองแบบ คือเลือกตัวแทนเพื่อให้คำขอถัดไปทำงานต่อ หรือคืนข้อผิดพลาดเพื่อรักษาเงื่อนไขว่าต้องใช้ขาออกเดิม บางสินค้าปล่อยให้คุณเลือก การเปลี่ยนทดแทนอัตโนมัติให้ความสำคัญกับการเชื่อมต่อครั้งใหม่ ส่วนข้อผิดพลาดเปิดโอกาสให้แอปหยุดก่อนดำเนินต่อจากที่อยู่อื่น
ชื่อที่ไม่เปลี่ยนไม่ได้พิสูจน์ว่าการตั้งค่าเซสชันอื่นคงเดิม การย้ายเกตเวย์หรือเปลี่ยนตัวกรองประเทศอาจสร้างการกำหนดใหม่ ขอบเขตขึ้นอยู่กับบริการ เซสชันอาจผูกกับบัญชี สินค้า หรือเซิร์ฟเวอร์ขาเข้าเฉพาะ แทนที่จะใช้ชื่อนั้นได้ทุกแห่ง
หากที่อยู่เปลี่ยนระหว่างงาน สิ่งที่ต้องตัดสินใจต่อคือสถานะของงาน ขั้นตอนอ่านข้อมูลอย่างเดียวอาจลองซ้ำได้ปลอดภัย แต่การส่งคำสั่งซื้อหรือเปลี่ยนข้อมูลต้องระวังมากกว่า เพราะการไม่ได้รับคำตอบไม่ได้พิสูจน์ว่าการกระทำนั้นล้มเหลว ควรตรวจว่าอะไรเสร็จแล้วก่อนเริ่มใหม่หรือทำต่อผ่านขาออกอื่น
เมื่อความต่อเนื่องชั่วคราวเพียงพอ
เซสชันคง IP เหมาะกับงานที่มีจุดเริ่มและจบชัดเจน และต้องการ IP เดียวเฉพาะช่วงทำงานนั้น ทดสอบสามอย่าง ได้แก่ การกำหนดทนต่อช่วงหยุดที่คาดไว้หรือไม่ อยู่จนจบงานหรือไม่ และจัดการขาออกที่หายไปได้ตามต้องการหรือไม่ ควรทดสอบด้วยการเชื่อมต่อใหม่หลังหยุดตามปกติ กิจกรรมในสายที่เปิดค้างอยู่เพียงสายเดียวไม่ได้พิสูจน์ว่าการกำหนดจะยังอยู่ในการเชื่อมต่อถัดไป
หากต้องให้ที่อยู่เดิมคงอยู่ในรายการอนุญาตของเซิร์ฟเวอร์ หรือกลับมาใช้ได้อีกในวันพรุ่งนี้ ให้เลือกบริการที่กำหนดที่อยู่คงที่เพื่อจุดประสงค์นั้น การใช้ชื่อเซสชันเดิมหลังหมดอายุไม่ได้กู้ที่อยู่เดิมกลับมาอย่างเชื่อถือได้ การรักษาไว้ชั่วคราวกับ IP ที่จัดสรรต่อเนื่องตอบโจทย์ความต่อเนื่องต่างกัน
