Django Academy · บทเรียน

คุกกี้เทียบกับเซสชัน

เลือกที่จัดเก็บสถานะให้เหมาะสม

บทเรียน 4 จาก 413 ขั้นตอน

คุกกี้เทียบกับเซสชัน เป็นบทเรียน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. เฟรมเวิร์กเซสชัน
  2. การอ่านและเขียน request.session
  3. เฟรมเวิร์กข้อความ
  4. คุกกี้เทียบกับเซสชัน
← กลับไปที่ Django Academy