การตรวจสอบเว็บทั่วไปส่วนใหญ่จะเป็นคนไร้สัญชาติเพราะของคำขอ / ตอบสนองธรรมชาติ โปรโตคอล HTTP เป็นตัวอย่างที่ดีที่สุดของโปรโตคอลไร้สัญชาติ แต่เนื่องจากเว็บแอปส่วนใหญ่ต้องการสถานะเพื่อที่จะรักษาสถานะระหว่างเซิร์ฟเวอร์และไคลเอนต์จึงมีการใช้คุกกี้เพื่อให้เซิร์ฟเวอร์สามารถส่งคุกกี้ในทุกการตอบกลับไปยังไคลเอนต์ ซึ่งหมายความว่าคำขอถัดไปจากไคลเอนต์จะรวมคุกกี้นี้และเซิร์ฟเวอร์จะรับรู้ วิธีนี้เซิร์ฟเวอร์สามารถรักษาเซสชันกับไคลเอนต์ไร้สถานะโดยรู้ทุกอย่างเกี่ยวกับสถานะของแอปเป็นส่วนใหญ่แต่เก็บไว้ในเซิร์ฟเวอร์ ในสถานการณ์นี้ไคลเอ็นต์ไม่ระงับในขณะนี้stateซึ่งไม่ใช่วิธีการทำงานของEmber.js
ใน Ember.js สิ่งต่างๆนั้นแตกต่างกัน Ember.js ทำให้งานของโปรแกรมเมอร์ง่ายขึ้นเพราะมันถือเป็นสถานะสำหรับคุณในไคลเอนต์โดยรู้ทุกขณะเกี่ยวกับสถานะโดยไม่ต้องร้องขอไปยังเซิร์ฟเวอร์เพื่อขอข้อมูลสถานะ
อย่างไรก็ตามบางครั้งสถานะการถือครองในไคลเอ็นต์อาจทำให้เกิดปัญหาการเกิดพร้อมกันซึ่งไม่ได้เกิดขึ้นในสถานการณ์ไร้สัญชาติ อย่างไรก็ตาม Ember.js เกี่ยวข้องกับปัญหาเหล่านี้สำหรับคุณด้วย โดยเฉพาะข้อมูลถ่านถูกสร้างขึ้นโดยคำนึงถึงสิ่งนี้ สรุปได้ว่า Ember.js เป็นเฟรมเวิร์กที่ออกแบบมาสำหรับไคลเอ็นต์แบบ stateful
Ember.js ไม่ทำงานเหมือนปกติไร้สัญชาติ app เว็บที่เซสชั่นที่รัฐและคุกกี้ที่เกี่ยวข้องได้รับการจัดการเกือบสมบูรณ์โดยเซิร์ฟเวอร์ Ember.js มีสถานะสมบูรณ์ใน Javascript (ในหน่วยความจำของไคลเอนต์ไม่ใช่ใน DOM เหมือนเฟรมเวิร์กอื่น ๆ ) และไม่จำเป็นต้องให้เซิร์ฟเวอร์จัดการเซสชัน ส่งผลให้ Ember.js มีความหลากหลายมากขึ้นในหลาย ๆ สถานการณ์เช่นเมื่อแอปของคุณอยู่ในโหมดออฟไลน์
เห็นได้ชัดว่าเหตุผลด้านความปลอดภัยก็ไม่ต้องชนิดของโทเค็นหรือที่สำคัญที่ไม่ซ้ำกันที่จะถูกส่งไปยังทุกเซิร์ฟเวอร์ทำการร้องขอเพื่อที่จะได้รับรองความถูกต้อง ด้วยวิธีนี้เซิร์ฟเวอร์สามารถค้นหาโทเค็นการส่ง (ซึ่งเริ่มต้นโดยเซิร์ฟเวอร์) และตรวจสอบว่าถูกต้องหรือไม่ก่อนที่จะส่งการตอบกลับกลับไปยังไคลเอนต์
ในความคิดของเหตุผลหลักว่าทำไมจะใช้การตรวจสอบโทเค็นแทนคุกกี้ที่ระบุไว้ในEmber Auth คำถามที่พบบ่อยเป็นหลักเนื่องจากลักษณะของกรอบ Ember.js และยังเพราะมันพอดีมากขึ้นด้วยstatefulกระบวนทัศน์ app เว็บ ดังนั้นกลไกคุกกี้จึงไม่ใช่แนวทางที่ดีที่สุดในการสร้างแอป Ember.js
ฉันหวังว่าคำตอบของฉันจะให้ความหมายกับคำถามของคุณมากขึ้น