1
00:00:00,000 --> 00:00:04,770
[MUSIK]

2
00:00:04,770 --> 00:00:09,509
Nachdem wir einige Details über cors in der vorherigen Vorlesung verstanden haben,

3
00:00:09,509 --> 00:00:15,670
werden wir in dieser Übung das cors Node Modul verwenden und unseren Express-Server konfigurieren.

4
00:00:15,670 --> 00:00:21,760
Damit der Server mit den entsprechenden kors-bezogenen

5
00:00:21,760 --> 00:00:26,340
Headern auf die Anforderung reagiert, die vom Standort des Clients eingeht.

6
00:00:28,460 --> 00:00:36,060
Um zu beginnen, wie Sie es erwarten würden, installieren wir zuerst das cors Node Module. Geben

7
00:00:36,060 --> 00:00:39,280
Sie an der Eingabeaufforderung npm install ein.

8
00:00:39,280 --> 00:00:46,170
Stellen Sie sicher, dass Sie sich im ConFusion Server-Ordner befinden, und dann cors — speichern.

9
00:00:46,170 --> 00:00:48,160
Und dann installieren Sie das cors Modul.

10
00:00:49,160 --> 00:00:54,140
Und wie Sie sehen können, verwende ich in diesem Kurs cors @2 .8.4.

11
00:00:54,140 --> 00:00:57,530
Sobald Sie das cors Modul installiert haben,

12
00:00:57,530 --> 00:01:03,260
gehen wir zu unserem Editor und konfigurieren Sie dann unseren Express-Server.

13
00:01:03,260 --> 00:01:05,320
Wir gehen zu unserem Redakteur.

14
00:01:05,320 --> 00:01:10,360
Jetzt im Route-Ordner, jetzt, wo ich in erster Linie

15
00:01:10,360 --> 00:01:14,980
das cors-Modul anwenden würde, weil dort alle verschiedenen Routen gewartet werden.

16
00:01:14,980 --> 00:01:22,130
Also im Routenordner werde ich eine neue Datei namens cors.js hinzufügen.

17
00:01:22,130 --> 00:01:27,180
Und dann werden wir in dieser Datei das cors Modul konfigurieren.

18
00:01:27,180 --> 00:01:32,795
Jetzt ist dies meine Art, alle Informationen im Zusammenhang mit

19
00:01:32,795 --> 00:01:42,445
cors in einem separaten dateibasierten Knotenmodul hier zu platzieren.

20
00:01:42,445 --> 00:01:47,527
Lassen Sie mich an der Eingabeaufforderung const express =

21
00:01:47,527 --> 00:01:53,979
require ('express') versuchen.

22
00:01:53,979 --> 00:01:58,795
Und lasst uns

23
00:02:02,831 --> 00:02:05,263
das Cors Modul in.

24
00:02:10,379 --> 00:02:15,434
Const app = express (); und

25
00:02:15,434 --> 00:02:23,800
dann sagen wir eine Whitelist eines Arrays von Strings.

26
00:02:23,800 --> 00:02:28,843
Die Whitelist enthält alle Ursprünge

27
00:02:28,843 --> 00:02:33,892
, die dieser Server akzeptiert.

28
00:02:33,892 --> 00:02:38,942
Jetzt werde ich ein paar von ihnen hier einschließen,

29
00:02:38,942 --> 00:02:41,793
localhost: 3000 und

30
00:02:41,793 --> 00:02:48,147
dann, Lokaler Host 3443.

31
00:02:48,147 --> 00:02:53,415
Und wenn Sie mehr Ursprünge zu Ihrer Whitelist hinzufügen möchten, können Sie sie einfach

32
00:02:53,415 --> 00:02:58,544
zu Ihrer Whitelist hinzufügen, da ich explizit versuche, mein cors-Modul zu konfigurieren.

33
00:02:58,544 --> 00:03:04,444
Also hier werde ich hier

34
00:03:04,444 --> 00:03:12,006
eine A-Funktion deklarieren,

35
00:03:16,755 --> 00:03:23,000
wobei die Anfrage und der Rückruf hier definiert werden.

36
00:03:23,000 --> 00:03:29,180
Und in diesem werde ich herausfinden, dass Cors Optionen hier.

37
00:03:29,180 --> 00:03:37,337
Also werde ich anfangen, indem ich corsOptions,

38
00:03:37,337 --> 00:03:43,683
var corsOptions sage; und dann werde ich

39
00:03:43,683 --> 00:03:53,453
sagen, if (whitelist.indexOf (req.header ('Origin'-

40
00:03:53,453 --> 00:03:56,850
))).

41
00:03:56,850 --> 00:04:01,920
So können Sie sehen, dass wir hier im Code angeben,

42
00:04:01,920 --> 00:04:03,390
sagen wir req.header.

43
00:04:03,390 --> 00:04:07,770
Also, wenn der eingehende Request-Header einen Ursprungs-Feed enthält,

44
00:04:07,770 --> 00:04:11,420
dann werden wir diese Whitelist überprüfen.

45
00:04:11,420 --> 00:04:15,770
Suchen Sie nach diesem besonderen Ursprung, ist es in dieser Whitelist vorhanden?

46
00:04:15,770 --> 00:04:18,360
Deshalb sagen wir Whitelist.indexOf.

47
00:04:18,360 --> 00:04:23,020
Dies ist also eine Array-Operation, die hier durchgeführt wird.

48
00:04:23,020 --> 00:04:29,715
Und wir werden sagen, im Ursprung ist nicht gleich -1.

49
00:04:30,810 --> 00:04:37,575
Wie Sie wissen, wird der Index der Operation den Index größer oder

50
00:04:37,575 --> 00:04:42,057
gleich Null zurückgeben, wenn dies in diesem Array vorhanden ist.

51
00:04:42,057 --> 00:04:46,620
Es wird -1 zurückgeben, wenn dies in diesem Array nicht vorhanden ist.

52
00:04:46,620 --> 00:04:51,155
Also eine sehr schnelle Möglichkeit zu überprüfen, ob die eingehenden

53
00:04:51,155 --> 00:04:54,860
Anfragen in der Whitelist Ursprung.

54
00:04:54,860 --> 00:04:58,875
In diesem Fall sagen wir

55
00:04:58,875 --> 00:05:03,854
CorsOptions, CorsOptions.

56
00:05:06,358 --> 00:05:11,027
CorsOptions = und hier

57
00:05:11,027 --> 00:05:15,541
werde ich {origin: true} angeben,

58
00:05:17,633 --> 00:05:23,038
indem ich also {origin: true} sage, was bedeutet, dass der ursprüngliche

59
00:05:23,038 --> 00:05:27,830
Ursprung in der eingehenden Anfrage in der Whitelist ist ist.

60
00:05:27,830 --> 00:05:30,995
Also werde ich zulassen, dass es akzeptiert wird.

61
00:05:30,995 --> 00:05:36,305
Wenn ich also den Ursprung hier gleich true setze,

62
00:05:36,305 --> 00:05:42,565
antwortet mein cors-Modul zurück und sagt, dass die Zugriffssteuerung Ursprung zulassen, und dann diesen Ursprung in die

63
00:05:42,565 --> 00:05:47,590
Header mit dem Zugriffskontrollschlüssel zulassen Ursprungsschlüssel dort einschließt.

64
00:05:47,590 --> 00:05:53,130
Auf diese Weise wird meine Client-Seite informiert und sagt, dass es in Ordnung ist, dass

65
00:05:53,130 --> 00:05:59,250
der Server diese Anfrage für diesen bestimmten Ursprung akzeptiert.

66
00:05:59,250 --> 00:06:03,858
Andernfalls, wenn das nicht der Fall ist, also

67
00:06:03,858 --> 00:06:09,127
wenn der req.header ('Ursprung') nicht in

68
00:06:09,127 --> 00:06:14,547
der Whitelist ist, dann werden Sie CorsOptions sehen.

69
00:06:17,920 --> 00:06:19,610
{ Herkunft: false}.

70
00:06:19,610 --> 00:06:24,815
Wenn Sie also Ursprung auf false setzen, dann

71
00:06:24,815 --> 00:06:29,415
wird der Zugriffskontroller-Alloworigin von meiner Server-Site nicht zurückgegeben.

72
00:06:29,415 --> 00:06:33,411
Und dann, wenn wir das getan haben,

73
00:06:33,411 --> 00:06:40,345
dann sagen wir Rückruf (null, CorsOptions);.

74
00:06:40,345 --> 00:06:43,335
Das war's. Also, indem wir diese Funktion hier aufrufen,

75
00:06:43,335 --> 00:06:48,010
CorsoPtionsDelegate hier, werden wir überprüfen, ob die eingehende

76
00:06:48,010 --> 00:06:53,100
Anfrage zu einem der Whitelist-Ursprünge gehört.

77
00:06:53,100 --> 00:06:57,342
Wenn dies der Fall ist, antworten Sie mit der Zugriffssteuerung

78
00:06:57,342 --> 00:07:02,313
Alloworigin mit dem Ursprung der dort gesetzten Anforderung zurück.

79
00:07:02,313 --> 00:07:08,490
Andernfalls wird die Zugriffssteuerung Alloworigin nicht enthalten, wenn sie antwortet.

80
00:07:08,490 --> 00:07:16,250
Nun, von dieser Funktion, werden wir cors als cors hier exportieren.

81
00:07:16,250 --> 00:07:20,724
Nun, wenn Sie das cors Modul konfigurieren, indem Sie einfach cors

82
00:07:20,724 --> 00:07:24,751
ohne Optionen sagen, dann bedeutet das, dass dies

83
00:07:24,751 --> 00:07:29,597
mit der Zugriffskontrolle Alloworigin mit der Joker-Maut antwortet.

84
00:07:29,597 --> 00:07:32,748
Es gibt bestimmte Regeln, auf denen dies akzeptabel ist,

85
00:07:32,748 --> 00:07:35,660
vor allem, wenn wir Get-Operationen durchführen.

86
00:07:35,660 --> 00:07:37,830
Es ist okay, das zu akzeptieren.

87
00:07:37,830 --> 00:07:44,660
Andernfalls werden wir sagen, corsWithOptions = cors, und

88
00:07:44,660 --> 00:07:50,639
dann liefern wir die) corsoPtionsDelegate)

89
00:07:50,639 --> 00:07:56,060
Funktion, die wir gerade zuvor definiert haben.

90
00:07:57,290 --> 00:08:02,230
Wenn Sie also A cors

91
00:08:02,230 --> 00:08:07,190
mit bestimmten Optionen auf eine bestimmte Route anwenden müssen, verwenden wir diese Funktion.

92
00:08:07,190 --> 00:08:09,960
Andernfalls verwenden wir einfach die Standard-Cors.

93
00:08:09,960 --> 00:08:15,030
Nachdem wir nun den korsbezogenen Code in cors.js definiert haben,

94
00:08:15,030 --> 00:08:19,410
beginnen wir, dies auf die verschiedenen Routen anzuwenden.

95
00:08:19,410 --> 00:08:22,040
Also werden wir mit dem DishRouter beginnen.

96
00:08:22,040 --> 00:08:27,402
Öffnen wir also den DishRouter, und

97
00:08:27,402 --> 00:08:32,406
im DishRouter werden wir zuerst

98
00:08:32,406 --> 00:08:37,064
[NOISE] importieren [NOISE]. /cors.

99
00:08:37,064 --> 00:08:41,320
Beachten Sie, dass sich die Datei cors.js im selben Ordner befindet, so dass

100
00:08:41,320 --> 00:08:45,300
wir das einfach importieren können, indem Sie sagen. /cors.js.

101
00:08:45,300 --> 00:08:47,417
Dateibasiertes Knotenmodul.

102
00:08:47,417 --> 00:08:53,650
Nun, für die GET-Anfrage, sobald wir das importiert haben.

103
00:08:53,650 --> 00:08:58,970
Jetzt, für den DishRouter, werde ich das Optionsfeld einrichten.

104
00:08:58,970 --> 00:09:03,510
Wie Sie gesehen haben, sendet

105
00:09:03,510 --> 00:09:10,250
der Client zuerst die HTTP OPTIONS-Anforderungsnachricht und erhält dann

106
00:09:10,250 --> 00:09:14,340
die Antwort von der Serverseite, bevor er die eigentliche Anfrage sendet.

107
00:09:14,340 --> 00:09:22,960
Also, für Optionen, wenn die Optionsnachricht auf dieser bestimmten Route empfangen

108
00:09:22,960 --> 00:09:28,944
wird, dann werden wir als cors.corsWithOptions antworten, und,

109
00:09:31,539 --> 00:09:38,022
Mit der Callback-Funktion hier, die besagt,

110
00:09:38,022 --> 00:09:45,773
res.sendStatus, 200.

111
00:09:45,773 --> 00:09:51,850
Wir müssen nichts mehr als nur den Status von hier senden.

112
00:09:51,850 --> 00:09:55,120
Und so, wenn eine Optionsnachricht empfangen

113
00:09:55,120 --> 00:10:00,060
wird, wenn dies reagiert, werden wir sehen, welche Ergebnisse wir sehen, wenn wir eine Optionsanfrage

114
00:10:02,570 --> 00:10:05,230
von der Client-Seite an die Serverseite in einem kurzen Flug senden.

115
00:10:05,230 --> 00:10:08,910
Nun, diese Optionen, ich werde auf jede Route anwenden.

116
00:10:08,910 --> 00:10:11,998
Also, für die dishid, für

117
00:10:11,998 --> 00:10:16,560
die dishid/comments, und auch für

118
00:10:16,560 --> 00:10:22,605
die dishid/comments start, /:commentID.

119
00:10:24,210 --> 00:10:28,417
Also, alle Fälle, werde ich die gleichen Optionen dort anwenden.

120
00:10:30,360 --> 00:10:34,090
Jetzt gehe ich zurück, für

121
00:10:34,090 --> 00:10:39,290
die GET, werde ich einfach Cors anwenden.

122
00:10:39,290 --> 00:10:46,474
Also, für die GET-Anfrage, werde ich sagen, Cors.cors,

123
00:10:46,474 --> 00:10:51,243
so beachten Sie, dass dies die erste Middleware ist, die wir anwenden werden, und

124
00:10:51,243 --> 00:10:54,660
danach wird es an diese Nachricht hier weitergegeben.

125
00:10:54,660 --> 00:10:58,380
So wird die cors Middleware dort eingeführt.

126
00:10:58,380 --> 00:11:05,750
Für den POST wenden sie cors.corsWithOptions an.

127
00:11:05,750 --> 00:11:10,240
Dasselbe dafür, PUT,

128
00:11:12,704 --> 00:11:16,760
DELETE.

129
00:11:16,760 --> 00:11:21,550
Gleiches gilt für den verbleibenden POST, PUT und

130
00:11:21,550 --> 00:11:25,780
DELETE auf allen anderen Routen hier.

131
00:11:25,780 --> 00:11:31,562
Für das GET verwenden wir nur die cors,

132
00:11:31,562 --> 00:11:38,124
also lassen Sie mich einfach die corsWithOptions auf POST

133
00:11:38,124 --> 00:11:43,437
, PUT und DELETE in allen Routen hier anwenden,

134
00:11:43,437 --> 00:11:47,201
also POST, PUT und DELETE.

135
00:11:49,100 --> 00:11:52,711
Nun, für die GET-Operation, wie wir für

136
00:11:52,711 --> 00:11:57,750
die Version von DishRouter gesehen haben, habe ich gerade cors.cors angewendet,

137
00:11:57,750 --> 00:12:02,910
also werde ich das kopieren und es dann auf alle GET anwenden.

138
00:12:04,290 --> 00:12:09,580
Also, für dieses GET, dann scrollen Sie nach unten für dieses GET, und

139
00:12:09,580 --> 00:12:16,340
dann auch für das letzte, werde ich auch die gleiche Option anwenden.

140
00:12:16,340 --> 00:12:19,770
So ist mein DishRouter jetzt aktualisiert.

141
00:12:19,770 --> 00:12:23,672
Jetzt werde ich dasselbe mit dem Promorouter, dem

142
00:12:23,672 --> 00:12:28,180
LeaderRouter, dem UploadRouter und auch der users.js machen.

143
00:12:28,180 --> 00:12:32,660
Also, öffnen wir den LeaderRouter als nächstes.

144
00:12:32,660 --> 00:12:37,127
Im LeaderRouter ist das erste, was natürlich ist,

145
00:12:37,127 --> 00:12:41,086
das cors-dateibasierte Knotenmodul aufzunehmen, also

146
00:12:41,086 --> 00:12:46,620
lassen Sie mich das kopieren und es dann in den LeaderRouter einfügen.

147
00:12:46,620 --> 00:12:52,970
Dann werden die Optionen, ich werde das Gleiche auf den LeaderRouter auch anwenden.

148
00:12:52,970 --> 00:12:58,230
Also für den LeaderRouter, werde ich die CorsWithOptions anwenden,

149
00:12:58,230 --> 00:13:01,370
und dann dasselbe mit dem LeaderRouter oder LeaderID.

150
00:13:01,370 --> 00:13:08,190
Sie haben hier nur zwei Routen, also werde ich die Optionen für beide anwenden.

151
00:13:08,190 --> 00:13:12,160
Für die GET-Operationen

152
00:13:12,160 --> 00:13:15,905
muss ich die cors.cors anwenden, also kopieren Sie dies vom DishRouter.

153
00:13:17,180 --> 00:13:20,300
Dieses GET, ich werde das gleiche anwenden, und

154
00:13:20,300 --> 00:13:24,120
dann auch dieses GET, Ich werde das gleiche anwenden.

155
00:13:24,120 --> 00:13:31,680
Nun, für den POST, PUT und DELETE, wie Sie gesehen haben, werden wir cors.corsWithOptions,

156
00:13:37,239 --> 00:13:40,443
Für den POST,

157
00:13:40,443 --> 00:13:45,790
dann PUT und DELETE anwenden.

158
00:13:45,790 --> 00:13:50,462
Und dasselbe für den POST, PUT und

159
00:13:50,462 --> 00:13:54,850
DELETE der LeaderID auch.

160
00:13:54,850 --> 00:13:59,410
Also, jetzt ist mein LeaderRouter aktualisiert, gehen wir zu Promorouter.

161
00:13:59,410 --> 00:14:05,537
Und in der promorouter auch, lassen Sie uns unten hier für

162
00:14:05,537 --> 00:14:09,970
die DELETE, CorsWithOptions, PUT, POST beginnen.

163
00:14:11,130 --> 00:14:18,400
Dann zu diesem DELETE, PUT, POST.

164
00:14:18,400 --> 00:14:22,036
Und für die GET, natürlich,

165
00:14:22,036 --> 00:14:29,480
folgen die cors.cors diesem GET und den anderen GET unten hier unten.

166
00:14:31,680 --> 00:14:36,620
Und dann, lassen Sie uns diese Cors importieren,

167
00:14:36,620 --> 00:14:40,782
also kopieren Sie das von meinem LeaderRouter.

168
00:14:40,782 --> 00:14:44,940
Dann importieren wir Cors hier und dann die Optionen.

169
00:14:44,940 --> 00:14:48,713
Also, ich werde die Optionen von hier kopieren und

170
00:14:48,713 --> 00:14:54,190
dann in den ProMorouter gehen, ich werde die Optionen hier anwenden.

171
00:14:56,020 --> 00:15:02,913
Und auch zu den anderen PromorOuter, gleichen Optionen.

172
00:15:02,913 --> 00:15:06,090
Jetzt, UploadRouter.

173
00:15:06,090 --> 00:15:11,801
Also gehen Sie in den UploadRouter, wieder,

174
00:15:11,801 --> 00:15:17,945
importieren, Cors,

175
00:15:26,379 --> 00:15:30,904
Dann danach, für den UploadRouter.Route,

176
00:15:30,904 --> 00:15:33,820
lassen Sie mich die Optionen dort anwenden.

177
00:15:36,859 --> 00:15:39,929
Und für das GET

178
00:15:39,929 --> 00:15:44,590
sagen wir cors.cors.

179
00:15:44,590 --> 00:15:48,698
Der POST wäre cors.corsWithOptions.

180
00:15:52,360 --> 00:15:59,770
Gleiches für die, PUT.

181
00:15:59,770 --> 00:16:04,510
Und löschen, damit mein Upload-Router aktualisiert wird.

182
00:16:05,800 --> 00:16:08,090
Der letzte ist Benutzer.

183
00:16:08,090 --> 00:16:12,447
Also, in den Benutzern, lassen Sie mich,

184
00:16:21,187 --> 00:16:25,157
Importieren Autos

185
00:16:25,157 --> 00:16:30,078
, und dann, in diesem Fall, weil wir router.get, router.post, und so weiter.

186
00:16:30,078 --> 00:16:37,500
Also für jeden von ihnen werde ich eingehen und explizit anwenden,

187
00:16:45,144 --> 00:16:50,900
cars.carsWithOptions, auch für die GET hier.

188
00:16:50,900 --> 00:16:54,398
Da das GET vom Administrator hier ausgeführt wird,

189
00:16:54,398 --> 00:16:57,730
darf kein anderer Benutzer dies ausführen.

190
00:16:57,730 --> 00:17:03,527
Aber die Anmeldung, auch CarsWithOptions für

191
00:17:03,527 --> 00:17:10,540
den Login werde ich auch anwenden, Das ist es.

192
00:17:10,540 --> 00:17:12,966
Lassen Sie uns alle Änderungen speichern, so

193
00:17:12,966 --> 00:17:17,147
haben wir Updates alle verschiedenen Routen, um Autos zu verwenden.

194
00:17:17,147 --> 00:17:23,860
Lassen Sie uns jetzt gehen und starten Sie unseren Server und dann sehen, wie diese Autos uns helfen.

195
00:17:23,860 --> 00:17:27,122
Gehen Sie zum Terminal,

196
00:17:27,122 --> 00:17:31,857
lassen Sie mich die Server-Site hier starten.

197
00:17:31,857 --> 00:17:34,947
Und wenn der Server gestartet wird,

198
00:17:34,947 --> 00:17:39,990
gehen wir zu unserem Postboten und senden Sie dann eine GET-Anfrage.

199
00:17:42,015 --> 00:17:47,475
Wenn Sie also eine GET-Anfrage an einen localhost senden: 3000dishs,

200
00:17:47,475 --> 00:17:52,890
erhalten Sie sofort eine Antwort von der Serverseite.

201
00:17:52,890 --> 00:17:57,690
Natürlich ist meine Datenbank momentan leer, also bekomme ich hier ein leeres Array, aber

202
00:17:57,690 --> 00:18:01,260
schauen wir uns insbesondere die Header an, denn das ist

203
00:18:02,260 --> 00:18:06,720
der Punkt des Interesses für uns in dieser Übung.

204
00:18:06,720 --> 00:18:11,573
Hier können Sie sehen, dass wir

205
00:18:11,573 --> 00:18:15,930
hier einen zusätzlichen Header namens Access-Control-Allow-Origin haben.

206
00:18:15,930 --> 00:18:20,306
So bietet der Access-Control-Allow-Origin, wie Sie sehen, das wilde Auto,

207
00:18:20,306 --> 00:18:22,140
das ist der Stern hier.

208
00:18:22,140 --> 00:18:25,874
Also bedeutet, dass jeder Ursprung, um auf diese bestimmte Ressource zuzugreifen,

209
00:18:25,874 --> 00:18:30,485
so dass der Server sagt, dass in Ordnung, jeder Ursprung wird berechtigt, auf diese Ressource zugreifen.

210
00:18:30,485 --> 00:18:32,960
Für die GET-Anfrage sind wir damit zufrieden.

211
00:18:34,070 --> 00:18:37,468
Lassen Sie uns jetzt in das System einloggen, und

212
00:18:37,468 --> 00:18:42,530
dann, sobald wir das Token erhalten, lassen Sie mich das Token hier kopieren.

213
00:18:42,530 --> 00:18:49,210
Und dann führen wir einen Löschvorgang auf unserer Serverseite durch.

214
00:18:50,320 --> 00:18:54,930
Also werden wir die Gerichte hier löschen, also

215
00:18:54,930 --> 00:19:01,360
lassen Sie mich das, Token in den Autorisierungs-Header hier einfügen.

216
00:19:01,360 --> 00:19:05,561
Und beachten Sie auch, dass ich für den Löschvorgang den Ursprung setze.

217
00:19:05,561 --> 00:19:13,280
Also ein anderes Feld hier namens origin to localhost: 3343 hier. Dies

218
00:19:13,280 --> 00:19:16,680
bedeutet, dass dieser Löschvorgang tatsächlich

219
00:19:17,860 --> 00:19:20,740
versucht, an diesem bestimmten Ursprung hier zu löschen.

220
00:19:22,170 --> 00:19:28,521
Und wenn wir diese Operation so durchführen, wenn Sie dies von einem Browser aus tun,

221
00:19:28,521 --> 00:19:33,142
wird der Ursprung automatisch vom Browser basierend

222
00:19:33,142 --> 00:19:37,779
auf der Webseite festgelegt, von der die Anfrage stammt.

223
00:19:37,779 --> 00:19:43,400
Aber hier, da wir Postman verwenden, muss ich den Ursprung hier explizit festlegen.

224
00:19:43,400 --> 00:19:47,060
Lassen Sie mich also die Anfrage mit diesem hier gesetzten Ursprungsfeld einsenden.

225
00:19:47,060 --> 00:19:51,415
Und dann würden Sie feststellen, dass das Header-Feld jetzt

226
00:19:51,415 --> 00:19:57,615
Access-Control-Allow-Origin mit dem hier angegebenen localhost: 3443 enthält.

227
00:19:57,615 --> 00:20:02,280
Und wie Sie feststellen werden, dass dieser Ursprung in der weißen Liste ist.

228
00:20:02,280 --> 00:20:06,520
Deshalb ist dieser Access-Control-Allow-Origin auf

229
00:20:06,520 --> 00:20:10,520
den gleichen Ursprung gesetzt, den wir dort angegeben haben.

230
00:20:10,520 --> 00:20:15,927
Wenn Sie zum Beispiel einen anderen Ursprung angeben,

231
00:20:15,927 --> 00:20:23,430
wenn Sie angeben, Sagen Sie localhost: 2000 zum Beispiel.

232
00:20:23,430 --> 00:20:30,490
Sie werden feststellen, dass dies nicht haben wird, in der Antwort vom Server,

233
00:20:30,490 --> 00:20:36,210
dies wird nicht die Access-Control-Allow-Origin hier eingestellt.

234
00:20:36,210 --> 00:20:42,790
Da diese bestimmte Adresse nicht in der Positivliste auf der Server-Site enthalten ist.

235
00:20:42,790 --> 00:20:45,710
Schauen wir uns nun ein Beispiel für das Vorlesen einer Anfrage an.

236
00:20:45,710 --> 00:20:51,749
Um dies zu tun, wählen Sie im Postboten Optionen hier,

237
00:20:51,749 --> 00:20:56,718
und dann senden wir eine Preflighting Anfrage

238
00:20:56,718 --> 00:21:00,650
an localhost: 3443dishs.

239
00:21:00,650 --> 00:21:05,170
Und in der Kopfzeile werden wir, Setzen Sie

240
00:21:05,170 --> 00:21:10,725
den Ursprung als: localhost3443.

241
00:21:10,725 --> 00:21:18,120
Und dann sendet dies diese Anfrage an den Server.

242
00:21:18,120 --> 00:21:22,575
Und als Antwort auf diese Optionsanfrage, die Sie an den Server gesendet

243
00:21:22,575 --> 00:21:27,540
haben, werden Sie feststellen, dass wir in der Antwortnachricht 204 Kein Inhalt sagen.

244
00:21:27,540 --> 00:21:31,790
Es gibt keinen Inhalt, der hier zurückgegeben werden soll.

245
00:21:31,790 --> 00:21:39,110
Aber wenn Sie sich die Kopfzeilen der Antwortnachricht ansehen, die in kommt, beachten Sie, dass

246
00:21:39,110 --> 00:21:43,960
wir den Access-Control-Allow-Origin auf diesen Wert gesetzt haben.

247
00:21:43,960 --> 00:21:47,750
Beachten Sie auch, dass es die Access-Control-Allow Methoden setzt.

248
00:21:47,750 --> 00:21:52,340
Und hier gibt es die Methoden an, die der Server

249
00:21:52,340 --> 00:21:55,500
an diesem Endpunkt akzeptieren will.

250
00:21:55,500 --> 00:22:00,880
Damit informieren Sie den Client und sagen, dass

251
00:22:00,880 --> 00:22:06,240
alle diese Methoden für den Server am entsprechenden Endpunkt akzeptabel sind.

252
00:22:06,240 --> 00:22:12,120
So können wir eine Anfrage vorlesen.

253
00:22:12,120 --> 00:22:16,130
Durch Senden der Optionen Anforderungsnachricht zuerst,

254
00:22:16,130 --> 00:22:19,700
und dann die Informationen vom Server hier zurück.

255
00:22:19,700 --> 00:22:24,030
Und wie Sie sich erinnern, haben wir dies im

256
00:22:24,030 --> 00:22:29,160
Optionsteil jedes Router-Endpunkts konfiguriert.

257
00:22:29,160 --> 00:22:34,098
So können wir unsere Autos Knotenmodul konfigurieren und

258
00:22:34,098 --> 00:22:40,490
dann unseren Server so konfigurieren, dass er mit verschiedenen Header-Nachrichten reagiert.

259
00:22:40,490 --> 00:22:43,360
Damit schließen wir diese Übung ab.

260
00:22:43,360 --> 00:22:48,080
In dieser Übung haben wir gesehen, wie wir unseren Server so konfigurieren können, dass er

261
00:22:48,080 --> 00:22:53,080
verschiedene kursbezogene Header in der Antwortnachricht

262
00:22:53,080 --> 00:22:55,190
mit dem Kursknotenmodul zurücksenden kann.

263
00:22:56,330 --> 00:22:58,196
Damit schließen wir diese Übung ab.

264
00:22:58,196 --> 00:23:01,515
Dies ist ein guter Zeitpunkt für Sie, einen GIT-Kommentar mit dem Nachrichtenkurs zu machen.

265
00:23:01,515 --> 00:23:02,467
( MUSIK)