แนะนำกันก่อน
Cookie เป็นกลไกอย่างหนึ่ง ที่ช่วยให้ผู้พัฒนาโฮมเพจ สามารถจะใช้เก็บ
สถานะการใช้งาน ต่างๆของผู้เยี่ยมชมได้ โดยปกติแล้วตัว HTTP เองนั้นจะ
เป็นโปรโตคอลที่มีลักษณะเป็น "stateless" คือจะไม่มีกลไกเกี่ยวกับการ
ตรวจสอบสถานะต่างๆ ของผู้ใช้ เมื่อมีการติดต่อกันครั้งหนึ่ง ก็จะจบสิ้น
กันไปในแต่ละครั้ง ไม่สามารถที่จะตรวจสอบ สถานะการเข้าใช้งานของ
ผู้เยี่ยมชมได้.. Browser โปรแกรมแรกที่มีการนำกลไก Cookie มาใช้ก็คือ
Netscape Navigator 1.0
Cookie จึงพัฒนาขึ้นมาด้วยเหตุผลที่ว่านี่เอง เพื่อช่วยให้เวปไซต์สามารถ
ที่จะจัดเก็บข้อมูลบางอย่าง ไว้ที่ browser ของผู้เยี่ยมชมได้ ไม่ว่าจะเป็น
ข้อมูลที่ผู้เยี่ยมชมเคยกรอกแบบฟอร์มไว้ ข้อมูลว่าผู้เยี่ยมชมเคยเข้ามาเวปไซต์
แห่งนี้แล้ว ข้อมูลส่วนตัวอะไรที่ผู้เยี่ยมชม เคยให้ไว้กับเวปไซต์แห่งนี้
เช่นสมาชิกคนนี้เลือกไว้ว่า เขาอยากให้เวปแห่งนี้แสดงสีพื้นสีแดงสด ครั้งต่อไป
ที่เขาเข้ามาเราก็จะตรวจสอบจาก Cookie ได้ว่าเขาเคยเลือกไว้ว่าอยากให้
แสดงสีพื้นสีแดงสด เราก็แสดงสีพื้นเป็นสีแดงสด ตามที่เขาต้องการ
และข้อมูลอื่นๆ แล้วแต่จะเก็บอะไร ที่จะทำให้เวปไซต์สามารถจะแยกแยะ
สถานะของผู้เยี่ยมชม และสามารถที่จะกำหนดสิ่งต่างๆที่ต่างๆ กันออกไปได้
ข้อมูลเบื้องต้น...
แล้ว Cookie คืออะไร?
ตัวของ Cookie เองนั้นเป็น HTTP header รูปแบบหนึ่ง ที่ประกอบ
ไปด้วยข้อความที่เป็น Text อย่างเดียว (ไม่เป็น Binary) นั่นเอง ซึ่งข้อความ
นี้จะถูกเก็บไว้ในหน่วยความจำของ Browser ข้อความๆนี้จะประกอบไปด้วย
Domain, path, ช่วงอายุของ Cookie, และตัวแปร กับค่าของตัวแปร
ที่เวปไซต์ได้กำหนดให้กับ Browser เก็บไว้ ถ้าหากว่า ช่วงอายุของ Cookie
ที่กำหนดมีค่านาน กว่าช่วงเวลาที่ผู้เยี่ยมชม ใช้ในเวปไซต์นั้น Cookie นั้นๆ
ก็จะถูกเก็บไว้นาน จนกว่าจะหมดช่วงอายุของ Cookie เพื่อนำมาใช้อีก
ในอนาคต
แล้วเวปไซต์เนี่ยเค้าจะใช้ Cookie กันทำไม?
ก็อย่างที่ว่ากันมาแล้วข้างต้น Cookie สามารถเก็บข้อมูลจำนวนหนึ่ง
ไว้ใน Browser ของผู้เยี่ยมชมได้ ซึ่งก็ทำให้เกิดเหตุผลในการนำไปใช้งาน
กันค่อนข้างจะหลากหลาย และกว้างขวาง อย่างเช่น บางเวปไซต์ก็ต้องการ
ให้เกิดการทำงานในลักษณะ Customize เกิดขึ้น เพื่อให้ผู้เยี่ยมชมสามารถ
กำหนดหน้าตาบางอย่าง ของเวปไซต์ให้เป็นไปตามที่เขาต้องการ เมื่อผู้ใช้
เหล่านั้นกลับมาอีก เขาก็จะเห็นรูปแบบตามที่เขากำหนด หรืออย่างในแบบฟอร์ม
การ Login เข้าใช้เวปเมล์ ถ้ามีการเก็บ Cookie ไว้ ผู้พัฒนาโปรแกรม
สามารถช่วยลดเวลา ของผู้เยี่ยมชมได้ โดยนำข้อมูลบางอย่างที่เก็บไว้แล้ว
ใน Cookie มาใช้ ทำให้ผู้เยี่ยมชมไม่จำเป็นต้องมาพิมพ์ใหม่อีกบ่อยๆ
เช่น Username หรืออย่างในเวปไซต์ที่เป็นการขายของ Online อย่างเช่น
Amazon ก็จะเอาไว้ใช้เก็บข้อมูลสิ่งของที่ผู้เยี่ยมชม ใส่ไว้ในตระกร้าชอปปิ้ง
ก่อนที่จะไปจ่ายเงินยัง ระบบจ่ายเงินของเวปไซต์ หรือเป็นการเก็บข้อมูลเพื่อ
แยกแยะผู้ใช้ อย่างเช่นที่พวก Banner โฆษณาทั้งหลายนิยมใช้กัน เมื่อแสดง
ป้ายโฆษณาไป ก็จะมีการเก็บ Cookie ไว้ว่าแสดงป้ายของอะไรไป เมื่อผู้เยี่ยมชม
คลิกที่ป้ายโฆษณา จะได้ไปยังปลายทางได้ถูกต้อง จะได้จ่ายเงินให้สมาชิก
ได้ถูกคน .. ซึ่งจากประโยชน์สารพัดสารเพ แล้วแต่จะนำไปประยุกต์ใช้กันนี่เอง
จึงทำให้ผู้พัฒนาโปรแกรมบนเวปไซต์ นิยมใช้ Cookie กันมากขึ้น
ประโยชน์อีกอย่างของ Cookie ก็คือทำให้เรา สามารถแยกแยะผู้เยี่ยมชมได้ดีขึ้น
ลองพิจารณาตัวอย่างกันดีกว่านะครับ อย่างหลายๆเวปจะใช้หมายเลข IP
ในการแยกแยะผู้เยี่ยมชม ว่าผู้เยี่ยมชมเนี่ยเคยเข้ามาแล้วหรือไม่ โดยอาจจะเป็นเพราะ
เขายึดหลักว่า 1 IP คือ 1 ผู้เยี่ยมชม ซึ่งก็จะมีปัญหาตามมาอย่างที่เราเห็นๆกันอยู่
ทุกวันนี้คือเมื่อเป็นผู้เยี่ยมชม ที่มาจาก proxy ซึ่ง IP ที่ได้ก็จะกลายเป็น IP
ของ proxy แทน หรืออย่างผู้ที่เล่นจากร้านเน็ตผ่าน wingate , winproxy ทั้งหลาย
ก็จะมาด้วย IP เดียวกัน หรือผู้ที่ใช้ internet แบบ slirp ก็จะมี IP เดียวกัน
และอื่นๆ ซึ่งก็จะทำให้เราแยกแยะผู้เยี่ยมชมได้ยาก ซึ่งถ้าใช้ Cookie ในการ
ตรวจสอบ และ Browser ของผู้เยี่ยมชมยอมรับ Cookie ก็จะแยกแยะผู้เยี่ยมชม
ได้ดีขึ้น
Cookie เนี่ยผู้เยี่ยมชมเขาสามารถลบออกจาก Browser เขาได้มั๊ย?
ได้แน่นอนครับ และก็ได้ไม่ยากแล้วด้วย เดี๋ยวนี้มีโปรแกรมจำพวก Cookie manager
ออกมาให้เลือกใช้กันมากมาย (แต่ผมเองยังไม่เคยได้นำมาทดสอบ) หรือแม้แต่
ตัว Browser เองเดี๋ยวนี้ก็มักจะมีคุณสมบัติการทำงานแบบ Cookie manager
ติดมาแล้วด้วย (อย่างโปรแกรม Mozilla ล่าสุดที่ผมลอง ก็มีการทำงานนี้ให้มาด้วย)
และสำหรับ Browser ยอดนิยมส่วนมากเช่น Netscape หรือ IE ตัว Cookie
นี้จะเก็บอยู่ใน text file เล็กๆอ่านเข้าใจได้ไม่ยากนักเท่านั้นเอง ใช้ notepad เปิดเพื่อ
ลบ Cookie ออกก็ได้แล้ว
แล้วผู้เยี่ยมชมเนี่ย เค้าจะรับ Cookie กันเลยรึปล่าว มีมั๊ยที่ไม่รับ Cookie?
ก็มีเหมือนกันครับ เพราะ Browser ที่นิยมใช้กัน ก็จะมีตัวเลือกให้เลือกว่า
ผู้ใช้จะรับ Cookie อัตโนมัติ หรือให้ถามก่อนว่าจะรับหรือไม่ หรือจะไม่รับเลย
ก็แล้วแต่ผู้ใช้จะเลือก ซึ่งตรงนี้ในมุมมองของผู้พัฒนาโปรแกรม ก็จะต้องจัดหา
หนทางที่เป็นทางเลือกไว้ในโปรแกรม ให้สามารถทำงานได้เมื่อผู้เยี่ยมชม
ไม่ยอมรับ Cookie หรือจัดแสดงหน้าชี้แจงไว้เมื่อพบว่าผู้เยี่ยมชมไม่ยอมรับ
Cookie แต่โปรแกรมของคุณจะต้องใช้ Cookie ถึงจะทำงานต่อได้
แล้ว Cookie เนี่ยมันมีอันตรายอะไรกับ Browser หรือระบบของผู้เยี่ยมชมไหม?
ไม่หรอกครับ Cookie เป็นแค่ข้อความสั้นๆเท่านั้น ไม่ใช่โปรแกรม
อันตรายของมันน้อยกว่า โปรแกรมพวก Plug ins มากมายๆๆๆๆตั้งไม่รู้กี่เท่าตัว
มันไม่สามารถทำงานเป็นไวรัสได้ มันไม่สามารถที่จะอ่านเขียนข้อมูลใน hard disk
ได้ ถึงแม้ว่า Browser ของคุณจะสามารถเก็บ Cookie ลง hard disk ได้
แต่มันก็มีการจำกัด ผลกระทบที่อาจจะเกิดขึ้นกับระบบอยู่แล้ว
รับ Cookie มามากๆมันจะเต็ม hard disk รึปล่าว?
ทั้ง Netscape และ IE จะมีกลไกในการจัดเก็บ Cookie กันอยู่แล้ว
ซึ่งกลไกนี้จะช่วยจำกัด ขนาดสูงสุดของ Cookie ที่จะจัดเก็บลง hard disk
ด้วยเช่นกัน เช่น Netscape จะจำกัดจำนวน Cookie ไว้ที่ 300
ถ้ามี Cookie เกินนี้ Netscape จะลบ Cookie ที่ใช้บ่อยน้อยที่สุดออก
ไปก่อนเพื่อหลีกที่เก็บให้กับ Cookie ใหม่ โดยทั่วๆไป Cookie จะมีขนาด
โดยเฉลี่ยอยู่ที่ 50-150 ตัวอักษร หรือเกินจากนี้ไม่มากนัก คุณจะต้องเก็บ
Cookie มากถึง 20 ล้าน Cookie เพื่อที่จะให้ hard disk 2Gb เต็ม
ซึ่งมันก็เป็นไปไม่ได้เอาซะเลย..
เนื้อหาส่วนถัดไป.. ->