1
00:00:00,000 --> 00:00:04,649
[MUSIC]

2
00:00:04,649 --> 00:00:08,820
في الدرس السابق، تعلمنا عن المصادقة الأساسية.

3
00:00:08,820 --> 00:00:14,398
رأينا أنه في المصادقة الأساسية، سيتعين على العميل الاستمرار بشكل صريح

4
00:00:14,398 --> 00:00:19,720
في إضافة حقل التفويض الذي يحتوي على اسم المستخدم وكلمة

5
00:00:19,720 --> 00:00:24,100
المرور لكل طلب يرسله العميل إلى جانب الخادم.

6
00:00:24,100 --> 00:00:27,750
الآن هذا جيد تمامًا للمصادقة البسيطة.

7
00:00:27,750 --> 00:00:33,520
ملفات تعريف الارتباط هي آلية أخرى يتم توفيرها

8
00:00:33,520 --> 00:00:38,700
تمكن الخادم الخاص بك من توقع العميل تخزين بعض المعلومات على جانب العميل

9
00:00:38,700 --> 00:00:43,370
وتضمين تلك المعلومات بشكل صريح في كل طلب صادر.

10
00:00:43,370 --> 00:00:47,360
لذلك بدلاً من تضمين اسم المستخدم وكلمة

11
00:00:47,360 --> 00:00:53,710
المرور المشفرة الخاصة بك في القاعدة 64 كما فعلنا في المصادقة الأساسية، باستخدام ملفات تعريف الارتباط،

12
00:00:53,710 --> 00:00:58,130
قد يقوم الخادم بإعداد جزء صريح من المعلومات على جانب العميل

13
00:00:58,130 --> 00:01:02,520
والتي سيتم تضمينها بعد ذلك في كل طلب صادر من جانب العميل.

14
00:01:03,750 --> 00:01:08,740
الآن توسيع هذا أكثر من ذلك، إذا كان الخادم الخاص بك يريد تتبع المعلومات حول

15
00:01:08,740 --> 00:01:15,180
العميل الخاص بك، ثم الملقم قد إعداد صراحة آلية تتبع جلسة العمل.

16
00:01:15,180 --> 00:01:20,720
الآن، ملفات تعريف الارتباط صغيرة ولا يمكن تخزين الكثير من المعلومات هناك،

17
00:01:20,720 --> 00:01:25,230
وهذا بالطبع لا يمكن تضمينها في الطلب الصادر.

18
00:01:25,230 --> 00:01:28,010
يمكن أن تتضمن ملفات تعريف الارتباط بعض المعلومات

19
00:01:28,010 --> 00:01:31,850
الأساسية في رأس الطلب الصادر من العميل.

20
00:01:31,850 --> 00:01:37,010
الآن، إذا كنا نريد الكثير من المعلومات ليتم تتبعها حول عميل

21
00:01:37,010 --> 00:01:42,420
على جانب الخادم، ثم جلسات صريحة تمكننا من القيام بذلك.

22
00:01:42,420 --> 00:01:45,140
دعونا ندرس المزيد عن ملفات تعريف الارتباط

23
00:01:45,140 --> 00:01:49,260
وجلسات Express بمزيد من التفصيل في هذا الدرس

24
00:01:49,260 --> 00:01:54,380
ونستكشفها أيضًا في التدريبات التي تتبع هذه المحاضرة.

25
00:01:56,640 --> 00:01:59,340
إذن ما هي ملفات تعريف الارتباط HTTP؟

26
00:01:59,340 --> 00:02:04,070
ملفات تعريف الارتباط HTTP، كما ذكرت، هي جزء صغير من البيانات التي يتم إرسالها

27
00:02:04,070 --> 00:02:07,610
من خادم ويب ويتم تخزينها على جانب العميل.

28
00:02:07,610 --> 00:02:12,030
الآن، جميع المتصفحات تقريبًا لديها القدرة

29
00:02:12,030 --> 00:02:16,850
على دعم تخزين ملفات تعريف الارتباط على جانب العميل، وتضمينها تلقائيًا

30
00:02:16,850 --> 00:02:21,590
في الطلب عند إرسال الطلب إلى خادم معين.

31
00:02:21,590 --> 00:02:27,127
لذلك

32
00:02:27,127 --> 00:02:32,047
سيتضمن كل طلب لاحق من جانب العميل رأسًا جديدًا هناك

33
00:02:32,047 --> 00:02:37,141
مع ملف تعريف الارتباط في رأس الطلب.

34
00:02:37,141 --> 00:02:41,668
الآن من الواضح، إذا كنت قد رأيت الصحافة الشعبية قد حصلت على سمعة سيئة

35
00:02:41,668 --> 00:02:45,450
هناك، وهذا هو، بطبيعة الحال، ليس غير مستحق تماما.

36
00:02:45,450 --> 00:02:52,880
ولكن هو في مهب وسيلة للخروج من نسبة ما هو حقا الحقيقة.

37
00:02:52,880 --> 00:02:57,760
لذا خذ أي شيء تقرأه في الصحافة الشعبية عن الكوكيز

38
00:02:57,760 --> 00:03:00,570
وسمعتها السيئة مع حبة الملح.

39
00:03:00,570 --> 00:03:05,040
ملفات تعريف الارتباط مفيدة جدا للقيام بالكثير من الأشياء المثيرة للاهتمام.

40
00:03:05,040 --> 00:03:09,880
ويمكننا التأكد من أن ملفات تعريف الارتباط يمكن أن يكون

41
00:03:09,880 --> 00:03:15,070
لها سلامة كافية مدمجة فيها بحيث لا يمكن التلاعب بها من قبل أي شخص بينهما.

42
00:03:15,070 --> 00:03:21,640
الآن كيف يعمل تضمين إعداد ملف تعريف الارتباط هذا في الطلب الصادر؟

43
00:03:21,640 --> 00:03:25,060
عندما يرسل عميل طلبًا إلى موقع الخادم،

44
00:03:25,060 --> 00:03:27,870
إذا تمت مصادقة العميل على موقع الخادم.

45
00:03:27,870 --> 00:03:31,040
على سبيل المثال، باستخدام المصادقة الأساسية،

46
00:03:31,040 --> 00:03:34,950
ثم الخادم قد في المقابل، إعداد ملف تعريف ارتباط.

47
00:03:34,950 --> 00:03:39,120
الآن، لإعداد ملف تعريف ارتباط على موقع العميل، سيتضمن الخادم في

48
00:03:39,120 --> 00:03:44,090
رسالة الاستجابة رأسًا يحتوي على رأس ملف تعريف الارتباط المرسل وملفات

49
00:03:44,090 --> 00:03:46,300
تعريف الارتباط الفعلية في الرأس.

50
00:03:46,300 --> 00:03:50,460
الآن عندما يتلقى العميل رسالة الاستجابة من الخادم الذي يحتوي

51
00:03:50,460 --> 00:03:54,500
على رأس Set-Cookie، فإنه سيتم إعداد ملف تعريف الارتباط على جانب العميل.

52
00:03:54,500 --> 00:03:59,455
بحيث

53
00:03:59,455 --> 00:04:03,602
يتضمن كل طلب لاحق من جانب العميل بشكل صريح حقل رأس يسمى ملف تعريف الارتباط

54
00:04:03,602 --> 00:04:06,846
والرأس الفعلي الذي يحتوي على قيمة،

55
00:04:06,846 --> 00:04:13,200
معلومات ملف تعريف الارتباط التي تم إرسالها من قبل الخادم في رسالة الاستجابة.

56
00:04:13,200 --> 00:04:17,880
لذلك ستحمل كل رسالة طلب لاحقة ملف تعريف الارتباط هذا في الرأس.

57
00:04:17,880 --> 00:04:22,470
وبالتالي عندما يتلقى الخادم رسالة الطلب هذه، فإنه قادر على فحص

58
00:04:22,470 --> 00:04:28,490
ملف تعريف الارتباط وsurmise الذي يأتي منه هذا الطلب.

59
00:04:28,490 --> 00:04:33,612
لذلك فهي قادرة على التعرف على العميل من خلال النظر في معلومات ملف تعريف الارتباط.

60
00:04:33,612 --> 00:04:38,543
لذلك هذا هو المكان الذي تثبت فيه ملفات تعريف الارتباط مفيدة للغاية في

61
00:04:38,543 --> 00:04:44,019
القدرة على إرسال معلومات التفويض.

62
00:04:44,019 --> 00:04:48,050
لذلك في خدمة بما في ذلك اسم المستخدم وكلمة المرور كجزء من

63
00:04:48,050 --> 00:04:51,220
رأس المصادقة الأساسية في كل طلب مستمر.

64
00:04:51,220 --> 00:04:55,120
في المرة الأولى التي تقوم فيها بمصادقة نفسك، تقوم بإرسال اسم المستخدم وكلمة المرور الخاصة بك

65
00:04:55,120 --> 00:04:57,140
ويقوم الخادم بإعداد ملف تعريف الارتباط على جانبك. في

66
00:04:57,140 --> 00:05:02,070
وقت لاحق، تحتاج فقط إلى تضمين ملف تعريف الارتباط في الطلب الصادر.

67
00:05:02,070 --> 00:05:06,789
الآن يمكن أن يكون لملفات تعريف الارتباط تاريخ انتهاء الصلاحية المرتبطة بها.

68
00:05:06,789 --> 00:05:11,641
وبالتالي، عند هذه النقطة، سيتم اعتبار ملف تعريف الارتباط منتهية الصلاحية

69
00:05:11,641 --> 00:05:13,440
ولن يكون صالحًا.

70
00:05:13,440 --> 00:05:16,940
لذلك هذه هي إحدى الطرق للتحكم في المدة التي

71
00:05:16,940 --> 00:05:20,340
يكون فيها التفويض صالحًا.

72
00:05:20,340 --> 00:05:24,350
القادمة إلى Express نفسها، كيف يدعم Express ملفات تعريف الارتباط؟

73
00:05:24,350 --> 00:05:28,980
الآن كما نفهم، يستخدم Express الكثير من البرامج الوسيطة.

74
00:05:28,980 --> 00:05:34,100
هذا هو المكان الذي يأتي فيه أحد الوسيطة التي تأتي تسمى محلل ملفات تعريف الارتباط

75
00:05:34,100 --> 00:05:37,092
إلى تطبيقنا في ثمانية.

76
00:05:37,092 --> 00:05:42,580
يسمح محلل ملفات تعريف الارتباط للخادم بإعداد ملف تعريف ارتباط في رأس الاستجابة.

77
00:05:42,580 --> 00:05:48,350
لذلك يتم ذلك باستخدام res.cookie والاسم

78
00:05:48,350 --> 00:05:54,160
وبعض القيم والخيارات كما سنرى في التمرين لاحقًا.

79
00:05:54,160 --> 00:06:00,160
وهكذا يتم

80
00:06:00,160 --> 00:06:05,980
تحليل ملفات تعريف الارتباط، عندما يتم إرسالها من جانب العميل، المضمنة في رسالة الطلب هذه على جانب خادم Express، باستخدام محلل ملفات تعريف الارتباط.

81
00:06:05,980 --> 00:06:08,383
الوسيطة محلل ملفات تعريف الارتباط،

82
00:06:08,383 --> 00:06:13,400
والتي عند تثبيتها سوف تمكنك من تحليل ملفات تعريف الارتباط الواردة.

83
00:06:13,400 --> 00:06:17,280
ثم سيتم إضافة ملفات تعريف الارتباط الواردة هذه

84
00:06:17,280 --> 00:06:22,260
في الطلب كرأس ويمكن فحصها على جانب الخادم.

85
00:06:23,340 --> 00:06:26,580
الآن من أجل حماية أصالة ملف تعريف الارتباط،

86
00:06:26,580 --> 00:06:30,070
يمكن توقيع ملفات تعريف الارتباط نفسها من قبل الخادم.

87
00:06:30,070 --> 00:06:35,120
الآن عندما يقوم الخادم بتوقيع ملف تعريف ارتباط، يستخدم الخادم مفتاحًا سريًا،

88
00:06:35,120 --> 00:06:38,070
وهو معروف فقط لجانب الخادم.

89
00:06:38,070 --> 00:06:42,510
الآن إذا كنت تعرف أي شيء عن أمن الكمبيوتر

90
00:06:42,510 --> 00:06:47,210
والتشفير والتشفير، فإنك تفهم ما

91
00:06:47,210 --> 00:06:49,290
يعنيه التوقيع والمفاتيح السرية والمفاتيح العامة وكل هذه الأشياء.

92
00:06:49,290 --> 00:06:53,990
إذا لم تقم بذلك، يكفي فقط أن نقول إن المفتاح السري هو

93
00:06:53,990 --> 00:06:59,260
سلسلة محددة يعرفها الخادم فقط ولا يعرفها أحد آخر.

94
00:06:59,260 --> 00:07:05,505
لذلك عندما يقوم الخادم بتشفير ملف تعريف ارتباط، فإنه سيستخدم مفتاحًا

95
00:07:05,505 --> 00:07:11,081
سريًا كتوقيع وإنشاء ما يسمى برمز مصادقة رسالة تجزئة المفتاح.

96
00:07:11,081 --> 00:07:16,450
ويتضمن هذا في ملف تعريف الارتباط الذي يتم إرساله من الخادم إلى جانب العميل.

97
00:07:16,450 --> 00:07:21,210
لا يمكن إجراء هذا HMAC الذي تم إنشاؤه على جانب الخادم إلا

98
00:07:21,210 --> 00:07:24,540
بواسطة ذلك الخادم المحدد الذي يعرف هذا المفتاح السري.

99
00:07:24,540 --> 00:07:27,950
الآن، بما أن الخادم هو مورد محمي، لذلك

100
00:07:27,950 --> 00:07:33,670
فقط الخادم سوف تعرف المفتاح السري ولذلك فمن السهل جدا للتحقق

101
00:07:33,670 --> 00:07:38,320
عندما يتم إرسال ملف تعريف ارتباط موقعة من جانب العميل إلى جانب الخادم.

102
00:07:38,320 --> 00:07:42,040
لذلك عندما يتم إرسال ملف تعريف الارتباط الموقّع من جانب العميل إلى جانب الخادم،

103
00:07:42,040 --> 00:07:44,540
سيتم إعداد ملف تعريف الارتباط على جانب العميل،

104
00:07:44,540 --> 00:07:50,310
ومن ثم ستتضمن جميع الطلبات اللاحقة ملف تعريف الارتباط الموقّع هذا في جانب العميل.

105
00:07:50,310 --> 00:07:54,290
الآن البرامج الوسيطة محلل ملفات تعريف الارتباط التي قمنا بإعدادها مع خادم Express لدينا

106
00:07:54,290 --> 00:07:56,630
تدعم بالفعل ملفات تعريف الارتباط الموقعة.

107
00:07:56,630 --> 00:08:02,480
الآن لهذا، في محلل ملفات تعريف الارتباط، ستقوم أيضًا بتوفير المفتاح السري

108
00:08:02,480 --> 00:08:07,120
كمعلمة للمحلل اللغوي الكوكيز عند إعداد الوسيطة محلل ملفات تعريف الارتباط.

109
00:08:07,120 --> 00:08:11,970
وبالتالي، سيتم توقيع جميع ملفات تعريف الارتباط بشكل مناسب ومن ثم إرسالها.

110
00:08:11,970 --> 00:08:17,240
وعندما يتم تحليل ملف تعريف الارتباط على جانب الخادم في

111
00:08:17,240 --> 00:08:22,660
رسالة الطلب الواردة، سيتم إضافة هذا إلى رسالة الطلب كـ Req.SignedCookies.

112
00:08:22,660 --> 00:08:27,980
وبعد ذلك يمكن أن يكون لديك حقل معين يمكنك التحقق من ملف تعريف الارتباط الموقع.

113
00:08:27,980 --> 00:08:30,890
ملفات تعريف الارتباط هي طريقة مفيدة جدا

114
00:08:30,890 --> 00:08:36,380
لعميلك لتكون قادرة على إرسال المعلومات حيث الخادم الخاص بك يتعرف على العميل.

115
00:08:36,380 --> 00:08:38,490
ولكن بالطبع، ملفات تعريف الارتباط لها قيود.

116
00:08:38,490 --> 00:08:42,370
وهي حجم ثابت، لذلك لا يمكن ترميز الكثير من المعلومات

117
00:08:42,370 --> 00:08:47,090
حول العميل التي يمكن لخادمها استرجاعها من ملف تعريف الارتباط.

118
00:08:47,090 --> 00:08:50,710
يتم استخدام ملف تعريف الارتباط فقط لتذكير الخادم حول

119
00:08:50,710 --> 00:08:53,750
العميل الذي يرسل الطلب.

120
00:08:53,750 --> 00:08:58,311
الآن إذا كنت تريد أن يكون لديك آلية أكثر تفصيلا لتتبع المعلومات حول

121
00:08:58,311 --> 00:09:02,889
عميل، ثم على جانب الخادم يمكنك إعداد ما يسمى الجلسات.

122
00:09:02,889 --> 00:09:09,180
الآن، الجلسات هي آلية عامة متوفرة مع أي خوادم. على

123
00:09:09,180 --> 00:09:11,850
وجه الخصوص، سنلقي نظرة على Express نفسه

124
00:09:11,850 --> 00:09:17,140
وكيف يدعم Express إدارة الجلسة على جانب الخادم.

125
00:09:17,140 --> 00:09:22,930
الطريقة التي يعمل بها هي أن يتم إعداد جلسة المستخدم على جانب الخادم.

126
00:09:22,930 --> 00:09:27,430
لذا فإن هذه الجلسة نفسها عبارة عن مزيج من ملف تعريف

127
00:09:27,430 --> 00:09:32,270
ارتباط ومعرف جلسة العمل، ويقوم جانب الخادم بتتبع المعلومات

128
00:09:32,270 --> 00:09:37,250
المرتبطة بمعرف الجلسة هذا، أو مفهرسة بواسطة معرف الجلسة هذا.

129
00:09:37,250 --> 00:09:40,500
يمكن أن تحتوي معلومات جلسة العمل نفسها على أي

130
00:09:40,500 --> 00:09:45,380
كمية من المعلومات التي يتم تتبعها على جانب الخادم، وفهرستها بواسطة ملف تعريف الارتباط هذا.

131
00:09:45,380 --> 00:09:50,910
لذلك عندما يرسل العميل طلبًا عبر الخادم،

132
00:09:50,910 --> 00:09:56,130
يتم استرداد معرف الجلسة من داخل ملف تعريف الارتباط ويتم استخدامه كفهرس في جانب الخادم.

133
00:09:56,130 --> 00:09:56,964
على سبيل المثال،

134
00:09:56,964 --> 00:10:01,548
إذا كنت تستخدم قاعدة بيانات جانب الخادم، فسيكون هذا الفهرس هو الفهرس الأساسي في

135
00:10:01,548 --> 00:10:05,456
قاعدة البيانات الخاصة بالخادم التي تتعقب الجلسات.

136
00:10:05,456 --> 00:10:10,486
وبالتالي، يمكن استرداد معلومات إضافية حول هذه الجلسة

137
00:10:10,486 --> 00:10:13,761
واستخدامها من قبل الخادم الخاص بك من أجل اتخاذ قرارات حول كيفية

138
00:10:13,761 --> 00:10:17,380
خدمة طلب العميل الوارد.

139
00:10:17,380 --> 00:10:23,900
الآن، بشكل افتراضي، يتم تخزين جلسات العمل في الذاكرة على موقع الخادم.

140
00:10:23,900 --> 00:10:28,870
الآن من الواضح أن ما يعنيه هذا هو أنه إذا تم إعادة تشغيل الخادم الخاص بك،

141
00:10:28,870 --> 00:10:33,260
سيتم مسح الذاكرة الخاصة بك وبالتالي سوف تختفي جميع معلومات الجلسة تماما.

142
00:10:33,260 --> 00:10:37,350
لذلك بدلاً من ذلك، ستلجأ العديد من الخوادم إلى

143
00:10:37,350 --> 00:10:42,010
استخدام شكل من أشكال التخزين الدائم حيث يتم تعقب معلومات الجلسة.

144
00:10:42,010 --> 00:10:45,360
يمكن إما أن يتم التخزين الدائم على جانب الخادم

145
00:10:45,360 --> 00:10:47,500
من خلال نوع من تخزين الملفات.

146
00:10:47,500 --> 00:10:53,460
أو حتى الاستفادة من حقيقة أن لديك بالفعل قاعدة بيانات على جانب الخادم ومن

147
00:10:53,460 --> 00:10:56,170
تخزين معلومات الجلسة على جانب الخادم.

148
00:10:56,170 --> 00:10:59,590
على سبيل المثال، في MongoDB نفسه.

149
00:10:59,590 --> 00:11:05,620
الآن في التمرين التالي، سننظر في استخدام تخزين الملفات

150
00:11:05,620 --> 00:11:10,000
لتتبع معلومات الجلسة على جانب الخادم.

151
00:11:10,000 --> 00:11:14,450
جانب آخر تحتاج إلى الانتباه إليه هو حقيقة أنه إذا

152
00:11:14,450 --> 00:11:19,540
كنت تواجه تطبيق خادم موزع حيث

153
00:11:19,540 --> 00:11:24,530
تعمل خوادم متعددة كخادم لخدمة الطلب.

154
00:11:24,530 --> 00:11:28,310
ثم يجب أن يكون خادم الموزع قادرًا على الوصول إلى معلومات جلسة العمل.

155
00:11:29,460 --> 00:11:32,470
يجب أن يتمكن أي من هذه الملقمات من الوصول إلى معلومات جلسة العمل.

156
00:11:32,470 --> 00:11:36,480
لذلك سوف تحتاج إلى أداة جلسات الموزع على جانب الخادم،

157
00:11:36,480 --> 00:11:40,780
لتمكينك من دعم خوادم متعددة منسوخة نسخاً متماثلاً.

158
00:11:40,780 --> 00:11:45,450
خصوصا هذا مفيد عندما نحاول ضمان

159
00:11:45,450 --> 00:11:46,870
موثوقية تشغيل الخادم.

160
00:11:47,960 --> 00:11:52,630
الآن مرة أخرى، لن نحصل على الكثير من التفاصيل حول تلك الموجودة في هذه

161
00:11:52,630 --> 00:11:58,190
الدورة بالذات، سنعتمد على فهم كيفية عمل جلسات Express بشكل أساسي.

162
00:11:59,710 --> 00:12:02,080
يأتي على وجه التحديد إلى Express

163
00:12:02,080 --> 00:12:06,080
وكيف يتم دعم إدارة الجلسات في Express.

164
00:12:06,080 --> 00:12:10,240
يستخدم Express الوسيطة جلسة العمل السريعة التي تدعم

165
00:12:10,240 --> 00:12:14,760
استخدام جلسات العمل في خادم Express.

166
00:12:14,760 --> 00:12:18,110
الآن قمت بتثبيت الوسيطة جلسات التعبير.

167
00:12:18,110 --> 00:12:21,140
وفي التمرين، سأستخدم FileStore

168
00:12:21,140 --> 00:12:24,470
كوسيلة لتخزين معلومات الجلسة بشكل دائم.

169
00:12:24,470 --> 00:12:30,440
ولذا فإننا سوف تشمل أيضا وحدة عقدة مخزن ملف جلسة العمل التي

170
00:12:30,440 --> 00:12:37,305
تمكننا من استخدام الملفات على جانب الخادم لتتبع معلومات الجلسة.

171
00:12:37,305 --> 00:12:41,120
سنرى التفاصيل في التمرين التالي.

172
00:12:41,120 --> 00:12:46,247
وبعد ذلك بمجرد أن نفعل ذلك سيتم إعداد جلستك نفسها مع

173
00:12:46,247 --> 00:12:51,690
الخادم السريع الجديد من خلال الإعلان عن الوسيطة هنا كجلسة تأخذ

174
00:12:51,690 --> 00:12:57,390
مجموعة معينة من الخيارات كمعلمة هنا.

175
00:12:57,390 --> 00:13:02,200
تتضمن الخيارات اسم الجلسة، لذلك سنعطي معرف الجلسة

176
00:13:02,200 --> 00:13:03,500
لجلسة معينة.

177
00:13:03,500 --> 00:13:07,500
ثم ستقوم أيضًا بتوفير السر، وهو مفتاح سري يتم استخدامه

178
00:13:07,500 --> 00:13:12,460
لترميز ملف تعريف الارتباط الموقع الذي سيتم إرساله إلى جانب العميل.

179
00:13:12,460 --> 00:13:17,960
ثم أيضًا معلومات إضافية بما في ذلك SaveUninitialized، والتي

180
00:13:19,190 --> 00:13:24,625
ستكون علامة يتم استخدامها وكذلك علامة resave المستخدمة.

181
00:13:24,625 --> 00:13:28,760
سنلقي نظرة على بعض تفاصيل هذه الخيارات في الشريحة التالية.

182
00:13:28,760 --> 00:13:31,390
لذلك يتم تحديد كل هذه الخيارات هنا.

183
00:13:31,390 --> 00:13:36,945
وإذا كنت FileStore كمخزن دائم لجلساتك،

184
00:13:36,945 --> 00:13:42,130
فسوف نعلن أنه أيضًا في خيارات الجلسة هناك.

185
00:13:42,130 --> 00:13:47,450
لذلك هذه هي الطريقة التي سنقوم بإعداد جلسة على جانب الخادم السريع

186
00:13:47,450 --> 00:13:49,510
باستخدام جلسة الوسيطة السريعة.

187
00:13:49,510 --> 00:13:55,540
والوسيطة السريعة للجلسة، عندما يرسل العميل هذه المعلومات،

188
00:13:55,540 --> 00:13:58,980
سيتم تحليل هذا على جانب الخادم

189
00:13:58,980 --> 00:14:04,640
وهذا سيؤدي إلى إضافة خاصية تسمى جلسة إلى كائن الطلب.

190
00:14:04,640 --> 00:14:09,460
لذلك سيتم الوصول إلى معلومات الجلسة هذه في

191
00:14:09,460 --> 00:14:11,505
كائن الطلب كـ req.session.

192
00:14:11,505 --> 00:14:16,221
وبالتالي فإن req.session سوف تحمل معلومات إضافية حول تلك الجلسة معينة

193
00:14:16,221 --> 00:14:18,325
لهذا العميل معين.

194
00:14:18,325 --> 00:14:22,979
الآن مرة واحدة في هذه الجلسة، يتم تحليل الطلب الوارد من خلال الوسيطة جلسة

195
00:14:22,979 --> 00:14:28,957
العمل، سيتم إضافة الخاصية req.session إلى

196
00:14:28,957 --> 00:14:33,447
كائن رسالة الطلب الوارد الذي يستخدم التعبير.

197
00:14:33,447 --> 00:14:40,097
لذلك بعد تحليل الجلسة، ستكون خاصية الجلسة المباشرة متاحة

198
00:14:40,097 --> 00:14:46,165
ويمكننا فحص ذلك أيضًا للتحقق من العميل الذي أرسل هذا الطلب.

199
00:14:46,165 --> 00:14:50,900
عند إعداد كائن جلسة العمل الخاصة بهم على موقع الخادم،

200
00:14:50,900 --> 00:14:59,790
كما رأينا، يمكننا إعداد خيارات مختلفة لموقع الخادم هذا.

201
00:14:59,790 --> 00:15:04,275
سيكون ملف تعريف الارتباط والخيارات من ملف تعريف ارتباط معرف الجلسة والقيمة الافتراضية لملف تعريف الارتباط كما هو موضح هنا، وهو المسار: '/'،

202
00:15:04,275 --> 00:15:07,700
HttpOnly: true، آمن: false، MaxAge: null.

203
00:15:07,700 --> 00:15:13,450
لذلك ستكون هذه هي القيمة الافتراضية لملف تعريف الارتباط الذي سيتم تخزينه على الحزمة

204
00:15:13,450 --> 00:15:17,680
وإرساله إلى جانب العميل كملف تعريف ارتباط موقّع.

205
00:15:17,680 --> 00:15:23,306
وسيتم تضمين هذا في كل طلب وارد من موقع العميل.

206
00:15:23,306 --> 00:15:28,080
ثم genid هو الدالة التي تولد معرف الجلسة.

207
00:15:28,080 --> 00:15:33,830
الافتراضي هو استخدام UUID الخاص بالخادم نفسه كمعرف عام.

208
00:15:33,830 --> 00:15:38,720
ثم تقوم علامة resave، إذا كانت صحيحة، بإجبار جلسة على حفظها مرة أخرى إلى

209
00:15:38,720 --> 00:15:41,470
المتجر حتى إذا لم يتم تعديلها بواسطة الطلب.

210
00:15:41,470 --> 00:15:44,230
في بعض الأحيان قد

211
00:15:45,580 --> 00:15:50,200
يحتوي الطلب الوارد على الحاجة إلى تعديل معلومات جلسة العمل على جانب الخادم.

212
00:15:50,200 --> 00:15:54,300
وهكذا، إذا تم تعديل معلومات الجلسة، يجب أن تكون مستمرة.

213
00:15:54,300 --> 00:15:56,290
إذا لم يكن كذلك، فأنت لست بحاجة إلى الاستمرار في ذلك.

214
00:15:56,290 --> 00:16:00,454
ولكن إذا قمت بتعيين علامة resave إلى true، حتى إذا

215
00:16:00,454 --> 00:16:06,030
لم يتم تعديل معلومات الجلسة على الخادم بواسطة طلب العميل الوارد، فسيظل يتم إعادة إرسالها.

216
00:16:06,030 --> 00:16:09,980
العلم التالي الذي نظرنا إليه كان SaveUninitialized.

217
00:16:09,980 --> 00:16:14,620
إذا كان هذا صحيحًا، فسيتم إنشاء جلسة تم إنشاؤها حديثًا دون أي تعديلات

218
00:16:14,620 --> 00:16:16,540
ليتم حفظها في مخزن الجلسة.

219
00:16:16,540 --> 00:16:21,164
الآن سنقوم بتعيين هذا إلى false افتراضيًا، مما يعني أننا لن

220
00:16:21,164 --> 00:16:25,008
نتتبع سوى تلك الجلسات المصرح بها على الخادم.

221
00:16:25,008 --> 00:16:30,955
الآن السر، كما نرى، هو المفتاح السري الذي يتم استخدامه لتوقيع ملف تعريف الارتباط،

222
00:16:30,955 --> 00:16:36,310
والمخزن نفسه يحدد مثيل مخزن الجلسة المستخدم.

223
00:16:36,310 --> 00:16:39,810
الافتراضي هو استخدام مخزن الذاكرة في.

224
00:16:39,810 --> 00:16:42,950
يمكنك تحديد مخزن الملفات أو مخزن Mongo

225
00:16:42,950 --> 00:16:46,000
لتخزين معلومات الجلسة هذه، وما إلى ذلك.

226
00:16:46,000 --> 00:16:51,590
لذلك بمجرد تحديد هذه المعلومات لوسيطة جلسة العمل السريعة الخاصة بك،

227
00:16:51,590 --> 00:16:57,350
سيتم إعداد الجلسة بشكل مناسب وبالتالي سيتم تتبعها على جانب الخادم.

228
00:16:57,350 --> 00:17:02,430
سيتم بعد ذلك تعيين كل طلب عميل إلى معلومات جلسة

229
00:17:02,430 --> 00:17:08,260
العمل على جانب الخادم عندما يتم تحليل طلب العميل بواسطة الوسيطة السريعة للجلسة.

230
00:17:08,260 --> 00:17:12,960
وسيتم إضافة req.session إلى كائن الطلب.

231
00:17:14,150 --> 00:17:19,010
مع هذا الفهم لملفات تعريف الارتباط والجلسات السريعة، دعونا

232
00:17:19,010 --> 00:17:24,050
ننتقل إلى التمرين حيث سننظر في كيفية الاستفادة من ملفات تعريف الارتباط أولاً.

233
00:17:24,050 --> 00:17:29,360
ثم سننظر في كيفية الاستفادة من جلسات Express Express

234
00:17:29,360 --> 00:17:35,121
داخل تطبيق Express REST API الذي كنا نعمل عليه حتى الآن.

235
00:17:35,121 --> 00:17:40,109
[ موسيقى]