คุกกี้เทียบกับเซสชัน
เลือกที่จัดเก็บสถานะให้เหมาะสม
คุกกี้เทียบกับเซสชัน เป็นบทเรียน Django Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Django Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Django Academy มีบทเรียนทั้งหมด 4 บทเรียน
สองวิธีในการจดจำ
ทั้งคุกกี้และเซสชันช่วยให้แอปจดจำผู้เยี่ยมชมได้ แต่เก็บข้อมูลไว้คนละที่กันมาก การรู้ว่าควรเลือกใช้แบบใดจึงสำคัญ 🤔
คุกกี้คืออะไร
คุกกี้คือข้อความขนาดเล็กที่เบราว์เซอร์เก็บไว้และส่งกลับมาในทุกคำขอที่มายังเว็บไซต์ของคุณ ข้อมูลจะอยู่บนฝั่งไคลเอนต์
การตั้งค่าคุกกี้
คุณตั้งค่าคุกกี้บนวัตถุตอบกลับด้วย set_cookie โดยระบุชื่อ ค่า และอายุการใช้งาน (ถ้าต้องการ)
response = HttpResponse('Hi')
response.set_cookie('lang', 'en', max_age=3600)การอ่านคุกกี้
คุกกี้จะมาถึงใน request.COOKIES ซึ่งเป็นพจนานุกรมแบบง่าย อ่านค่าของคุณกลับมาได้ด้วยคีย์ของค่านั้นในการร้องขอครั้งถัดไป
lang = request.COOKIES.get('lang', 'en')ข้อมูลเซสชันอยู่ที่ไหน
session จะเก็บข้อมูลจริงไว้บนเซิร์ฟเวอร์ และส่งให้เบราว์เซอร์เพียงคีย์หนึ่งเท่านั้น ผู้เยี่ยมชมจะไม่เห็นเนื้อหาภายใน
คุกกี้มองเห็นได้
เนื่องจากคุกกี้อยู่ในเบราว์เซอร์ ผู้ใช้จึงสามารถอ่านและแก้ไขคุกกี้ได้ ดังนั้นอย่าเก็บ ความลับ เช่น ราคา หรือบทบาทของผู้ใช้ไว้ในนั้น
เซสชันซ่อนข้อมูล
ข้อมูลเซสชันจะอยู่ฝั่งเซิร์ฟเวอร์ จึงเหมาะสำหรับเก็บสิ่งที่ ละเอียดอ่อน หรือสิ่งที่ผู้ใช้ต้องไม่สามารถแก้ไขได้
ข้อจำกัดด้านขนาด
คุกกี้มีขนาดเล็ก โดยจำกัดอยู่ที่ประมาณ 4KB ต่อรายการ ส่วนเซสชันสามารถเก็บโครงสร้างข้อมูลที่ใหญ่กว่ามากได้ เนื่องจากอยู่ในฐานข้อมูลหรือแคชของคุณ
ปกป้องคุกกี้ของคุณ
เพิ่ม HttpOnly เพื่อไม่ให้ JavaScript อ่านคุกกี้ได้ และเพิ่ม Secure เพื่อให้คุกกี้ถูกส่งผ่าน HTTPS เท่านั้น Django จะตั้งค่าเหล่านี้ให้ sessionid เป็นค่าเริ่มต้น
response.set_cookie('t', '1', httponly=True, secure=True)ควรใช้คุกกี้เมื่อใด
เลือกใช้ คุกกี้ ธรรมดาสำหรับการตั้งค่าขนาดเล็กที่ไม่เป็นความลับ เช่น ธีมหรือภาษาที่เลือก ซึ่งผู้ใช้เห็นได้ก็ไม่เป็นไร
ควรใช้เซสชันเมื่อใด
ใช้ เซสชัน สำหรับสถานะการเข้าสู่ระบบ ตะกร้าสินค้า หรือข้อมูลส่วนตัวใด ๆ เซสชันจะจัดเก็บข้อมูลเบื้องหลังคุกกี้อย่างปลอดภัยบนพื้นที่จัดเก็บที่เชื่อถือได้ของเซิร์ฟเวอร์
ตรวจสอบความเข้าใจ
คุณต้องเก็บค่าที่ผู้ใช้ต้องไม่มีทางอ่านหรือเปลี่ยนแปลงได้ วิธีใดเหมาะที่สุด
สรุปทบทวน
คุณได้เปรียบเทียบ คุกกี้และเซสชัน: คุกกี้เก็บข้อมูลขนาดเล็กที่มองเห็นได้บนฝั่งไคลเอ็นต์ ส่วนเซสชันเก็บข้อมูลส่วนตัวที่มีขนาดใหญ่กว่าบนเซิร์ฟเวอร์ เลือกใช้ตามระดับความละเอียดอ่อนและขนาด 🎉
เรียนรู้ Python ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 30
- บทเรียน
- 120
คำถามที่พบบ่อย
บทเรียน “คุกกี้เทียบกับเซสชัน” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “คุกกี้เทียบกับเซสชัน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Django Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Django Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “คุกกี้เทียบกับเซสชัน”
เลือกที่จัดเก็บสถานะให้เหมาะสม คุณปฏิบัติ Django Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Django Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Django Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “คุกกี้เทียบกับเซสชัน” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Django Academy นี้ได้ไหม
ได้ บทเรียน Django Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เฟรมเวิร์กเซสชัน
- การอ่านและเขียน request.session
- เฟรมเวิร์กข้อความ
- คุกกี้เทียบกับเซสชัน