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

2
00:00:04,770 --> 00:00:09,509
Avendo compreso alcuni dettagli su cors nella lezione precedente,

3
00:00:09,509 --> 00:00:15,670
in questo esercizio useremo il modulo nodo cors e configureremo il nostro server express.

4
00:00:15,670 --> 00:00:21,760
Per consentire al server di rispondere con le

5
00:00:21,760 --> 00:00:26,340
intestazioni cors appropriate relative alla richiesta proveniente dal sito del client.

6
00:00:28,460 --> 00:00:36,060
Per iniziare come ci si aspetterebbe, prima installeremo il modulo nodo cors.

7
00:00:36,060 --> 00:00:39,280
Quindi, al prompt, digita npm install.

8
00:00:39,280 --> 00:00:46,170
Assicurarsi di essere nella cartella del server Confusione e quindi cors - salvare.

9
00:00:46,170 --> 00:00:48,160
E poi installare il modulo cors.

10
00:00:49,160 --> 00:00:54,140
E come puoi vedere, in questo corso sto usando cors @2 .8.4.

11
00:00:54,140 --> 00:00:57,530
Una volta installato il modulo cors,

12
00:00:57,530 --> 00:01:03,260
andiamo al nostro editor e poi configurare il nostro server express.

13
00:01:03,260 --> 00:01:05,320
Sto andando dal nostro editore.

14
00:01:05,320 --> 00:01:10,360
Ora nella cartella route, ora che è dove applicherei principalmente

15
00:01:10,360 --> 00:01:14,980
il modulo cors perché è lì che vengono servite tutte le varie rotte.

16
00:01:14,980 --> 00:01:22,130
Quindi nella cartella route, aggiungerò un nuovo file chiamato cors.js.

17
00:01:22,130 --> 00:01:27,180
E poi in questo file, configureremo il modulo cors.

18
00:01:27,180 --> 00:01:32,795
Ora questo è il mio modo di mettere tutte le informazioni relative a

19
00:01:32,795 --> 00:01:38,980
cors in un modulo nodo basato su file separato qui.

20
00:01:38,980 --> 00:01:42,445
Quindi, al prompt,

21
00:01:42,445 --> 00:01:47,527
fammi provare const express =

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

23
00:01:53,979 --> 00:01:58,795
E prendiamo,

24
00:02:02,831 --> 00:02:05,263
il modulo cors in.

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

26
00:02:15,434 --> 00:02:23,800
quindi diciamo una whitelist di una matrice di stringhe.

27
00:02:23,800 --> 00:02:28,843
La whitelist contiene tutte le origini

28
00:02:28,843 --> 00:02:33,892
che questo server è disposto ad accettare.

29
00:02:33,892 --> 00:02:38,942
Ora includerò un paio di loro qui,

30
00:02:38,942 --> 00:02:41,793
localhost: 3000 e

31
00:02:41,793 --> 00:02:48,147
poi, Host locale 3443.

32
00:02:48,147 --> 00:02:53,415
E se hai bisogno di più origini da aggiungere alla tua whitelist, puoi semplicemente aggiungerle

33
00:02:53,415 --> 00:02:58,544
alla tua whitelist perché sto cercando esplicitamente di configurare il mio modulo cors.

34
00:02:58,544 --> 00:03:04,444
Quindi qui, dichiarerò

35
00:03:04,444 --> 00:03:12,006
una funzione A qui,

36
00:03:16,755 --> 00:03:23,000
Con la richiesta e la chiamata vengono definiti qui.

37
00:03:23,000 --> 00:03:29,180
E dentro questo ho intenzione di capire che le opzioni cors qui.

38
00:03:29,180 --> 00:03:37,337
Quindi inizierò dicendo CorsOptions,

39
00:03:37,337 --> 00:03:43,683
var CorsOptions; e poi

40
00:03:43,683 --> 00:03:53,453
dirò se (whitelist.indexOf (req.header ('Origin'-

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

42
00:03:56,850 --> 00:04:01,920
Quindi puoi vedere che qui stiamo specificando nel codice qui,

43
00:04:01,920 --> 00:04:03,390
stiamo dicendo req.header.

44
00:04:03,390 --> 00:04:07,770
Quindi, se l'intestazione della richiesta in arrivo contiene un feed di origine,

45
00:04:07,770 --> 00:04:11,420
allora stiamo andando a controllare questa whitelist.

46
00:04:11,420 --> 00:04:15,770
Alla ricerca di quella particolare origine, è presente in questa whitelist?

47
00:04:15,770 --> 00:04:18,360
Ecco perché stiamo dicendo WhiteList.indexOf.

48
00:04:18,360 --> 00:04:23,020
Quindi questa è un'operazione di array che viene eseguita qui.

49
00:04:23,020 --> 00:04:29,715
E diremo in origine non è uguale a -1.

50
00:04:30,810 --> 00:04:37,575
Come sapete, l'indice di operazione restituirà l'indice maggiore o

51
00:04:37,575 --> 00:04:42,057
uguale a zero se questo è presente in questo array.

52
00:04:42,057 --> 00:04:46,620
Restituirà -1 se questo non è presente in questo array.

53
00:04:46,620 --> 00:04:51,155
Quindi un modo molto rapido di verificare se le

54
00:04:51,155 --> 00:04:54,860
richieste in arrivo sono originate nella whitelist.

55
00:04:54,860 --> 00:04:58,875
In tal caso, diremo

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

57
00:05:06,358 --> 00:05:11,027
CorsOptions = e questo è dove

58
00:05:11,027 --> 00:05:15,541
specificherò {origin: true}

59
00:05:17,633 --> 00:05:23,038
Quindi dicendo {origin: true}, il che significa che l'

60
00:05:23,038 --> 00:05:27,830
origine originale nella richiesta in arrivo è nella whitelist.

61
00:05:27,830 --> 00:05:30,995
Quindi permetterò che venga accettato.

62
00:05:30,995 --> 00:05:36,305
Quindi, quando imposto l'origine è uguale a true qui, il mio modulo cors

63
00:05:36,305 --> 00:05:42,565
risponderà dicendo che il controllo dell'accesso consente l'origine, e quindi includerà quell'origine nelle

64
00:05:42,565 --> 00:05:47,590
intestazioni con la chiave di origine del controllo di accesso consente lì.

65
00:05:47,590 --> 00:05:53,130
Quindi in questo modo il mio lato client verrà informato dicendo che va bene per

66
00:05:53,130 --> 00:05:59,250
il server accettare questa richiesta per questa particolare origine.

67
00:05:59,250 --> 00:06:03,858
Altrimenti, quindi se questo non è il caso, quindi

68
00:06:03,858 --> 00:06:09,127
se il req.header ('Origin') non è

69
00:06:09,127 --> 00:06:14,547
nella whitelist, allora vedrai CorsOptions.

70
00:06:17,920 --> 00:06:19,610
{ origin: false}.

71
00:06:19,610 --> 00:06:24,815
Quindi, quando si imposta l'origine su false, il controller di accesso

72
00:06:24,815 --> 00:06:29,415
AllowIGin non verrà restituito dal mio sito server.

73
00:06:29,415 --> 00:06:33,411
E poi una volta che lo abbiamo fatto,

74
00:06:33,411 --> 00:06:40,345
allora diremo callback (null, CorsOptions);.

75
00:06:40,345 --> 00:06:43,335
Questo è tutto. Quindi chiamando questa funzione qui,

76
00:06:43,335 --> 00:06:48,010
CorsoPtionsDelegate qui, controlleremo per vedere se la

77
00:06:48,010 --> 00:06:53,100
richiesta in arrivo appartiene a una delle origini whitelist.

78
00:06:53,100 --> 00:06:57,342
Se lo è, allora rispondi con il controllo di accesso

79
00:06:57,342 --> 00:07:02,313
AllowReigin con l'origine della richiesta impostata lì.

80
00:07:02,313 --> 00:07:08,490
Altrimenti non includerà quel controllo di accesso AllowReigin quando risponde.

81
00:07:08,490 --> 00:07:16,250
Ora, da questa funzione, esporteremo cors come cors qui.

82
00:07:16,250 --> 00:07:20,724
Ora, se configuri il modulo cors semplicemente dicendo cors

83
00:07:20,724 --> 00:07:24,751
senza alcuna opzione, allora ciò significa che questo

84
00:07:24,751 --> 00:07:29,597
risponderà con il controllo di accesso AllowReigin con il pedaggio dei caratteri jolly.

85
00:07:29,597 --> 00:07:32,748
Ci sono alcune regole su cui questo è accettabile fare,

86
00:07:32,748 --> 00:07:35,660
specialmente ogni volta che eseguiamo operazioni get.

87
00:07:35,660 --> 00:07:37,830
Va bene accettarlo.

88
00:07:37,830 --> 00:07:44,660
Altrimenti, diremo, corsWithOptions = cors, e

89
00:07:44,660 --> 00:07:50,639
quindi forniremo la

90
00:07:50,639 --> 00:07:56,060
funzione) CorsOptionsDelegate) che abbiamo appena definito in precedenza.

91
00:07:57,290 --> 00:08:02,230
Quindi in questo modo, se è necessario applicare A cors

92
00:08:02,230 --> 00:08:07,190
con opzioni specifiche a un particolare percorso, useremo questa funzione.

93
00:08:07,190 --> 00:08:09,960
Altrimenti, useremo semplicemente i cors standard.

94
00:08:09,960 --> 00:08:15,030
Ora che abbiamo definito il codice cors-correlato in cors.js,

95
00:08:15,030 --> 00:08:19,410
iniziamo ad applicarlo ai vari percorsi.

96
00:08:19,410 --> 00:08:22,040
Quindi inizieremo con il DishRouter.

97
00:08:22,040 --> 00:08:27,402
Quindi apriamo il DishRouter, e

98
00:08:27,402 --> 00:08:32,406
nel DishRouter, prima

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

100
00:08:37,064 --> 00:08:41,320
Si noti che il file cors.js si trova nella stessa cartella, quindi

101
00:08:41,320 --> 00:08:45,300
possiamo semplicemente importarlo dicendo. /cors.js.

102
00:08:45,300 --> 00:08:47,417
Modulo nodo basato su file.

103
00:08:47,417 --> 00:08:53,650
Ora, per la richiesta GET, una volta che l'abbiamo importata.

104
00:08:53,650 --> 00:08:58,970
Ora, per il DishRouter, ho intenzione di impostare il campo delle opzioni.

105
00:08:58,970 --> 00:09:03,510
Quindi, come hai visto, ogni volta che hai bisogno di eseguire la verifica preliminare delle tue richieste,

106
00:09:03,510 --> 00:09:10,250
il client invierà prima il messaggio di richiesta OPTIONS HTTP e quindi otterrà

107
00:09:10,250 --> 00:09:14,340
la risposta dal lato server prima che invii effettivamente la richiesta effettiva.

108
00:09:14,340 --> 00:09:22,960
Quindi, per le opzioni, se il messaggio delle opzioni viene ricevuto su questo particolare percorso,

109
00:09:22,960 --> 00:09:28,944
allora risponderemo come cors.corsWithOptions, e,

110
00:09:31,539 --> 00:09:38,022
Con la funzione di callback qui, che dice,

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

112
00:09:45,773 --> 00:09:51,850
Non abbiamo bisogno di mandare altro che solo lo stato da qui.

113
00:09:51,850 --> 00:09:55,120
E così, quando viene ricevuto un messaggio di opzioni,

114
00:09:55,120 --> 00:10:00,060
quando questo risponderà, vedremo quali risultati quando invieremo una richiesta di opzione

115
00:10:02,570 --> 00:10:05,230
dal lato client al lato server in un breve volo.

116
00:10:05,230 --> 00:10:08,910
Ora, queste opzioni, ho intenzione di applicare ad ogni percorso.

117
00:10:08,910 --> 00:10:11,998
Quindi, per il DishId, per

118
00:10:11,998 --> 00:10:16,560
il DishID/Commenti, e anche per

119
00:10:16,560 --> 00:10:22,605
il DishID/Comments start, /:CommentId.

120
00:10:24,210 --> 00:10:28,417
Quindi, tutti i casi, ho intenzione di applicare le stesse opzioni lì.

121
00:10:30,360 --> 00:10:34,090
Ora, tornando indietro, per

122
00:10:34,090 --> 00:10:39,290
il GET, ho intenzione di applicare semplicemente cors.

123
00:10:39,290 --> 00:10:46,474
Quindi, per la richiesta GET, dirò, Cors.cors,

124
00:10:46,474 --> 00:10:51,243
quindi noti che questo è il primo middleware che applicheremo, e

125
00:10:51,243 --> 00:10:54,660
dopo di che passerà a questo messaggio qui.

126
00:10:54,660 --> 00:10:58,380
Quindi il middleware cors viene introdotto lì.

127
00:10:58,380 --> 00:11:05,750
Per il POST, applicheranno cors.corsWithOptions.

128
00:11:05,750 --> 00:11:10,240
Stessa cosa per questo, PUT,

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

130
00:11:16,760 --> 00:11:21,550
Stessa cosa per i rimanenti POST, PUT e

131
00:11:21,550 --> 00:11:25,780
DELETE su tutti gli altri percorsi qui.

132
00:11:25,780 --> 00:11:31,562
Per GET, useremo solo i cors,

133
00:11:31,562 --> 00:11:38,124
quindi lasciami applicare corsWithOptions a POST

134
00:11:38,124 --> 00:11:43,437
, PUT e DELETE in tutti i percorsi qui,

135
00:11:43,437 --> 00:11:47,201
quindi POST, PUT e DELETE.

136
00:11:49,100 --> 00:11:52,711
Ora, per l'operazione GET come abbiamo visto per

137
00:11:52,711 --> 00:11:57,750
la versione di DishRouter ho appena applicato cors.cors,

138
00:11:57,750 --> 00:12:02,910
quindi ho intenzione di copiarlo e quindi applicarlo a tutti i GET.

139
00:12:04,290 --> 00:12:09,580
Quindi, per questo GET, quindi scorrendo verso il basso per questo GET, e

140
00:12:09,580 --> 00:12:16,340
poi anche per l'ultimo, applicherò la stessa opzione.

141
00:12:16,340 --> 00:12:19,770
Quindi il mio DishRouter è ora aggiornato.

142
00:12:19,770 --> 00:12:23,672
Ora, ho intenzione di fare la stessa cosa con PromorOuter,

143
00:12:23,672 --> 00:12:28,180
LeaderRouter, UploadRouter e anche users.js.

144
00:12:28,180 --> 00:12:32,660
Quindi, apriamo il LeaderRouter prossimo.

145
00:12:32,660 --> 00:12:37,127
Nel LeaderRouter, la prima cosa ovviamente è

146
00:12:37,127 --> 00:12:41,086
includere il modulo nodo basato su file cors, quindi

147
00:12:41,086 --> 00:12:46,620
lasciami copiare e incollarlo nel LeaderRouter.

148
00:12:46,620 --> 00:12:52,970
Quindi le opzioni, ho intenzione di applicare la stessa cosa anche al LeaderRouter.

149
00:12:52,970 --> 00:12:58,230
Quindi, per il LeaderRouter, applicherò il CorsWithOptions,

150
00:12:58,230 --> 00:13:01,370
e poi la stessa cosa con LeaderRouter o LeaderID.

151
00:13:01,370 --> 00:13:08,190
Hai solo due percorsi qui, quindi applicherò le opzioni per entrambi.

152
00:13:08,190 --> 00:13:12,160
Per le operazioni GET,

153
00:13:12,160 --> 00:13:15,905
ho bisogno di applicare cors.cors, quindi copiarlo da DishRouter.

154
00:13:17,180 --> 00:13:20,300
Questo GET, applicherò la stessa cosa, e

155
00:13:20,300 --> 00:13:24,120
poi anche questo GET, applicherò la stessa cosa.

156
00:13:24,120 --> 00:13:31,680
Ora, per il POST, PUT, e DELETE, come hai visto, applicheremo cors.corsWithOptions,

157
00:13:37,239 --> 00:13:40,443
Per il POST,

158
00:13:40,443 --> 00:13:45,790
quindi PUT, e DELETE.

159
00:13:45,790 --> 00:13:50,462
E la stessa cosa

160
00:13:50,462 --> 00:13:54,850
anche per il POST, PUT e DELETE del LeaderID.

161
00:13:54,850 --> 00:13:59,410
Quindi ora il mio LeaderRouter è aggiornato, andiamo a PromorOuter.

162
00:13:59,410 --> 00:14:05,537
E anche nel PromorOuter, iniziamo in basso qui per

163
00:14:05,537 --> 00:14:09,970
DELETE, CorsWithOptions, PUT, POST.

164
00:14:11,130 --> 00:14:18,400
Quindi a questo DELETE, PUT, POST.

165
00:14:18,400 --> 00:14:22,036
E per il GET, ovviamente,

166
00:14:22,036 --> 00:14:29,480
i cors.cors seguono questo GET e l'altro GET qui sotto.

167
00:14:31,680 --> 00:14:36,620
E poi, importiamo quel cors,

168
00:14:36,620 --> 00:14:40,782
quindi copiandolo dal mio LeaderRouter.

169
00:14:40,782 --> 00:14:44,940
Quindi importiamo cors qui, e poi le opzioni.

170
00:14:44,940 --> 00:14:48,713
Quindi, ho intenzione di copiare le opzioni da qui e

171
00:14:48,713 --> 00:14:54,190
poi andare in PromorOuter, applicherò le opzioni qui.

172
00:14:56,020 --> 00:15:02,913
E anche per gli altri PromorOuter, stesse opzioni.

173
00:15:02,913 --> 00:15:06,090
Ora, UploadRouter.

174
00:15:06,090 --> 00:15:11,801
Quindi vai in UploadRouter, ancora una volta

175
00:15:11,801 --> 00:15:17,945
, importa,

176
00:15:26,379 --> 00:15:30,904
Cor, poi, per UploadRouter.route,

177
00:15:30,904 --> 00:15:33,820
fammi applicare le opzioni lì.

178
00:15:36,859 --> 00:15:39,929
E per il GET,

179
00:15:39,929 --> 00:15:44,590
diremo cors.cors.

180
00:15:44,590 --> 00:15:48,698
Il POST sarebbe cors.corsWithOptions.

181
00:15:52,360 --> 00:15:59,770
Lo stesso vale per il, PUT.

182
00:15:59,770 --> 00:16:04,510
E cancella, quindi il mio router di caricamento è aggiornato.

183
00:16:05,800 --> 00:16:08,090
L' ultimo sono gli utenti.

184
00:16:08,090 --> 00:16:12,447
Quindi, negli utenti, lasciami,

185
00:16:21,187 --> 00:16:25,157
Importa auto, E

186
00:16:25,157 --> 00:16:30,078
poi, in questo caso, perché stiamo facendo router.get, router.post, e così via.

187
00:16:30,078 --> 00:16:37,500
Quindi per ognuno di loro, ho intenzione di entrare e applicare esplicitamente,

188
00:16:45,144 --> 00:16:50,900
autos.carsWithOptions, anche per GET qui.

189
00:16:50,900 --> 00:16:54,398
Poiché il GET viene eseguito dall'amministratore qui,

190
00:16:54,398 --> 00:16:57,730
nessun altro utente può essere autorizzato a eseguire tale operazione.

191
00:16:57,730 --> 00:17:03,527
Ma la registrazione, anche carsWithOptions per

192
00:17:03,527 --> 00:17:10,540
il login anche io applicherò, Questo è tutto.

193
00:17:10,540 --> 00:17:12,966
Salviamo tutte le modifiche in modo da

194
00:17:12,966 --> 00:17:17,147
avere aggiornamenti tutti i vari percorsi per utilizzare le auto.

195
00:17:17,147 --> 00:17:23,860
Ora andiamo ad avviare il nostro server e poi vediamo come questa macchina ci aiuta.

196
00:17:23,860 --> 00:17:27,122
Andando al terminale,

197
00:17:27,122 --> 00:17:31,857
fammi avviare il sito del server qui.

198
00:17:31,857 --> 00:17:34,947
E quando il server è avviato,

199
00:17:34,947 --> 00:17:39,990
andiamo al nostro Postman e poi inviare una richiesta GET.

200
00:17:42,015 --> 00:17:47,475
Quindi, quando si invia una richiesta GET a un localhost: 3000dish,

201
00:17:47,475 --> 00:17:52,890
si otterrà immediatamente una risposta dal lato server.

202
00:17:52,890 --> 00:17:57,690
Ovviamente in questo momento il mio database è vuoto, quindi ottengo un array vuoto qui, ma

203
00:17:57,690 --> 00:18:01,260
diamo un'occhiata in particolare alle intestazioni perché è lì che

204
00:18:02,260 --> 00:18:06,720
il punto di interesse per noi è in questo esercizio.

205
00:18:06,720 --> 00:18:11,573
Quindi qui, puoi vedere che abbiamo un'intestazione aggiuntiva

206
00:18:11,573 --> 00:18:15,930
qui chiamata Access-Control-Allow-Origin.

207
00:18:15,930 --> 00:18:20,306
Quindi l'Access-Control-Allow-Origin come vedete fornisce l'auto selvaggia,

208
00:18:20,306 --> 00:18:22,140
che è la stella qui.

209
00:18:22,140 --> 00:18:25,874
Quindi significa che, qualsiasi origine per accedere a questa particolare risorsa,

210
00:18:25,874 --> 00:18:30,485
quindi il server dice che va bene, qualsiasi origine sarà autorizzata ad accedere a questa risorsa.

211
00:18:30,485 --> 00:18:32,960
Per la richiesta GET siamo soddisfatti di questo.

212
00:18:34,070 --> 00:18:37,468
Cerchiamo ora di accedere al sistema, e

213
00:18:37,468 --> 00:18:42,530
poi una volta ottenuto il token, lasciatemi copiare il token qui.

214
00:18:42,530 --> 00:18:49,210
E poi eseguiremo un'operazione di cancellazione sul nostro sito server.

215
00:18:50,320 --> 00:18:54,930
Quindi cancelleremo i piatti qui, quindi

216
00:18:54,930 --> 00:19:01,360
lasciami includere il token, nell'intestazione di autorizzazione qui.

217
00:19:01,360 --> 00:19:05,561
E si noti anche che per l'operazione di eliminazione sto impostando l'origine.

218
00:19:05,561 --> 00:19:13,280
Quindi un altro campo qui chiamato origine a httpslocalhost: 3343 qui.

219
00:19:13,280 --> 00:19:16,680
Quindi indica che questa operazione di eliminazione sta effettivamente

220
00:19:17,860 --> 00:19:20,740
cercando di eliminare a questa particolare origine qui.

221
00:19:22,170 --> 00:19:28,521
E così quando eseguiamo questa operazione così, se si sta facendo questo da un browser,

222
00:19:28,521 --> 00:19:33,142
l'origine verrà automaticamente impostata dal browser in base

223
00:19:33,142 --> 00:19:37,779
alla pagina web da cui la richiesta è originata.

224
00:19:37,779 --> 00:19:43,400
Ma qui, dal momento che stiamo usando Postman, devo impostare esplicitamente l'origine qui.

225
00:19:43,400 --> 00:19:47,060
Quindi lasciami inviare la richiesta con questo campo di origine impostato qui.

226
00:19:47,060 --> 00:19:51,415
E poi si noterà che il campo di intestazione ora contiene

227
00:19:51,415 --> 00:19:57,615
Access-Control-Allow-Origin con localhost: 3443 specificato qui.

228
00:19:57,615 --> 00:20:02,280
E come noterai che questa origine è nella lista bianca.

229
00:20:02,280 --> 00:20:06,520
Ecco perché questo Access-Control-Allow-Origin è impostato

230
00:20:06,520 --> 00:20:10,520
sulla stessa origine che abbiamo specificato lì.

231
00:20:10,520 --> 00:20:15,927
Se si specifica un'origine diversa, ad esempio,

232
00:20:15,927 --> 00:20:23,430
se si specifica, Dire localhost:2000 per esempio.

233
00:20:23,430 --> 00:20:30,490
Noterai che questo non avrà, nella risposta proveniente dal server,

234
00:20:30,490 --> 00:20:36,210
questo non avrà l'Access-Control-Allow-Origin impostato qui.

235
00:20:36,210 --> 00:20:42,790
Perché, questo particolare indirizzo non è nella whitelist del sito server.

236
00:20:42,790 --> 00:20:45,710
Diamo ora un'occhiata a un esempio di preflighting di una richiesta.

237
00:20:45,710 --> 00:20:51,749
Quindi, per farlo, nel Postman, seleziona Opzioni qui,

238
00:20:51,749 --> 00:20:56,718
quindi inviamo una richiesta di preflighting

239
00:20:56,718 --> 00:21:00,650
a localhost: 3443dish.

240
00:21:00,650 --> 00:21:05,170
E nell'intestazione lo faremo, Metti

241
00:21:05,170 --> 00:21:10,725
l'origine come https://localhost3443.

242
00:21:10,725 --> 00:21:18,120
E poi questo invia questa richiesta al server.

243
00:21:18,120 --> 00:21:22,575
E in risposta a questa richiesta di opzioni che hai inviato al server,

244
00:21:22,575 --> 00:21:27,540
noterai che nel messaggio di risposta diremo 204 Nessun contenuto.

245
00:21:27,540 --> 00:21:31,790
Non vi è alcun contenuto da restituire qui.

246
00:21:31,790 --> 00:21:39,110
Ma, quando si guardano le intestazioni del messaggio di risposta che arriva, si noti che

247
00:21:39,110 --> 00:21:43,960
abbiamo Access-Control-Allow-Origin da impostare su quel valore.

248
00:21:43,960 --> 00:21:47,750
Si noti inoltre che imposta i metodi Access-Control-Allow.

249
00:21:47,750 --> 00:21:52,340
E qui specifica quei metodi che il server sarà

250
00:21:52,340 --> 00:21:55,500
disposto ad accettare a questo punto finale.

251
00:21:55,500 --> 00:22:00,880
Quindi stai informando il client dicendo che,

252
00:22:00,880 --> 00:22:06,240
tutti questi metodi sono accettabili per il server al punto finale corrispondente.

253
00:22:06,240 --> 00:22:12,120
Quindi, questo è il modo in cui possiamo fare la preflighting di una richiesta.

254
00:22:12,120 --> 00:22:16,130
Inviando il messaggio di richiesta opzioni prima, e

255
00:22:16,130 --> 00:22:19,700
poi recuperando le informazioni dal server qui.

256
00:22:19,700 --> 00:22:24,030
E come ricorderai, questo è ciò che abbiamo configurato nella

257
00:22:24,030 --> 00:22:29,160
parte delle opzioni di ciascuno dei punti finali del router.

258
00:22:29,160 --> 00:22:34,098
Quindi questo è il modo in cui possiamo configurare il nostro modulo nodo auto e

259
00:22:34,098 --> 00:22:40,490
quindi configurare il nostro server per rispondere con vari messaggi di intestazione.

260
00:22:40,490 --> 00:22:43,360
Con questo completiamo questo esercizio.

261
00:22:43,360 --> 00:22:48,080
In questo esercizio abbiamo visto come possiamo configurare il nostro server per essere in grado di inviare

262
00:22:48,080 --> 00:22:53,080
indietro varie intestazioni relative al corso nel messaggio di risposta

263
00:22:53,080 --> 00:22:55,190
utilizzando il modulo nodo corso.

264
00:22:56,330 --> 00:22:58,196
Con questo, completiamo questo esercizio.

265
00:22:58,196 --> 00:23:01,515
Questo è un buon momento per fare un commento GIT con il corso dei messaggi.

266
00:23:01,515 --> 00:23:02,467
[ MUSIC]