1
00:00:00,000 --> 00:00:04,770
[MÚSICA]

2
00:00:04,770 --> 00:00:09,509
Tendo entendido alguns detalhes sobre cors na palestra anterior,

3
00:00:09,509 --> 00:00:15,670
neste exercício vamos usar o módulo cors Node e configurar nosso servidor express.

4
00:00:15,670 --> 00:00:21,760
Para permitir que o servidor responda com os cors

5
00:00:21,760 --> 00:00:26,340
apropriados cabeçalhos relacionados à solicitação vinda do site do cliente.

6
00:00:28,460 --> 00:00:36,060
Para começar como você esperaria, vamos primeiro instalar o módulo de nó cors.

7
00:00:36,060 --> 00:00:39,280
Então, no prompt, digite npm install.

8
00:00:39,280 --> 00:00:46,170
Certifique-se de que você está na pasta do servidor Confusion e, em seguida, cors — salvar.

9
00:00:46,170 --> 00:00:48,160
E então instale o módulo cors.

10
00:00:49,160 --> 00:00:54,140
E como você pode ver, neste curso eu estou usando cors @2 .8.4.

11
00:00:54,140 --> 00:00:57,530
Depois de ter instalado o módulo cors,

12
00:00:57,530 --> 00:01:03,260
vamos para o nosso editor e, em seguida, configurar o nosso servidor express.

13
00:01:03,260 --> 00:01:05,320
Indo para o nosso editor.

14
00:01:05,320 --> 00:01:10,360
Agora na pasta rotas, agora que é onde eu estaria aplicando principalmente

15
00:01:10,360 --> 00:01:14,980
o módulo cors porque é onde todas as várias rotas estão sendo atendidas.

16
00:01:14,980 --> 00:01:22,130
Então, na pasta rotas, vou adicionar um novo arquivo chamado cors.js.

17
00:01:22,130 --> 00:01:27,180
E, em seguida, neste arquivo, vamos configurar o módulo cors.

18
00:01:27,180 --> 00:01:32,795
Agora esta é a minha maneira de colocar todas as informações relacionadas a

19
00:01:32,795 --> 00:01:38,980
cors em um módulo de nó baseado em arquivo separado aqui.

20
00:01:38,980 --> 00:01:42,445
Então, no prompt,

21
00:01:42,445 --> 00:01:47,527
deixe-me tentar const express =

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

23
00:01:53,979 --> 00:01:58,795
E vamos lá,

24
00:02:02,831 --> 00:02:05,263
o módulo Cors entra.

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

26
00:02:15,434 --> 00:02:23,800
, em seguida, vamos dizer uma lista branca de uma matriz de strings.

27
00:02:23,800 --> 00:02:28,843
A lista branca contém todas as origens

28
00:02:28,843 --> 00:02:33,892
que este servidor está disposto a aceitar.

29
00:02:33,892 --> 00:02:38,942
Agora vou incluir alguns deles aqui,

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

31
00:02:41,793 --> 00:02:48,147
em seguida, host local 3443.

32
00:02:48,147 --> 00:02:53,415
E se você precisar de mais origens para ser adicionado à sua lista branca, você pode simplesmente adicioná-los

33
00:02:53,415 --> 00:02:58,544
à sua lista branca porque eu estou explicitamente tentando configurar meu módulo cors.

34
00:02:58,544 --> 00:03:04,444
Então aqui, vou declarar

35
00:03:04,444 --> 00:03:12,006
uma função A aqui,

36
00:03:16,755 --> 00:03:23,000
com o pedido e chamada de volta sendo definido aqui.

37
00:03:23,000 --> 00:03:29,180
E dentro disso eu vou descobrir que cors opções aqui.

38
00:03:29,180 --> 00:03:37,337
Então eu vou começar dizendo corsoOptions,

39
00:03:37,337 --> 00:03:43,683
var CorsoOptions; e então eu vou

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

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

42
00:03:56,850 --> 00:04:01,920
Então você pode ver que aqui estamos especificando no código aqui,

43
00:04:01,920 --> 00:04:03,390
estamos dizendo req.header.

44
00:04:03,390 --> 00:04:07,770
Então, se o cabeçalho de solicitação de entrada contém um feed de origem,

45
00:04:07,770 --> 00:04:11,420
então vamos verificar esta lista branca.

46
00:04:11,420 --> 00:04:15,770
Procurando por essa origem em particular, está presente nesta lista branca?

47
00:04:15,770 --> 00:04:18,360
Então é por isso que estamos dizendo whitelist.indexOf.

48
00:04:18,360 --> 00:04:23,020
Então esta é uma operação de array sendo feita aqui.

49
00:04:23,020 --> 00:04:29,715
E diremos que na origem não é igual a -1.

50
00:04:30,810 --> 00:04:37,575
Como você sabe o índice de operação irá retornar o índice maior ou

51
00:04:37,575 --> 00:04:42,057
igual a zero se este estiver presente nesta matriz.

52
00:04:42,057 --> 00:04:46,620
Ele retornará -1 se isso não estiver presente nesta matriz.

53
00:04:46,620 --> 00:04:51,155
Então, uma maneira muito rápida de verificar se as

54
00:04:51,155 --> 00:04:54,860
solicitações recebidas são originadas na lista branca.

55
00:04:54,860 --> 00:04:58,875
Nesse caso, diremos

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

57
00:05:06,358 --> 00:05:11,027
CorsOptions = e aqui é onde eu

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

59
00:05:17,633 --> 00:05:23,038
Então, dizendo {origin: true}, o que significa que

60
00:05:23,038 --> 00:05:27,830
a origem original na solicitação de entrada está na lista branca.

61
00:05:27,830 --> 00:05:30,995
Por isso, vou permitir que seja aceite.

62
00:05:30,995 --> 00:05:36,305
Então, quando eu definir origem é igual a verdadeiro aqui, em seguida, meu módulo cors

63
00:05:36,305 --> 00:05:42,565
responderá dizendo controle de acesso permitir origem, e, em seguida, incluir essa origem nos

64
00:05:42,565 --> 00:05:47,590
cabeçalhos com o controle de acesso permitir chave origem lá.

65
00:05:47,590 --> 00:05:53,130
Assim, meu cliente será informado dizendo que está tudo bem para

66
00:05:53,130 --> 00:05:59,250
o servidor aceitar este pedido para esta origem em particular.

67
00:05:59,250 --> 00:06:03,858
Caso contrário, então, se esse não for o caso, então

68
00:06:03,858 --> 00:06:09,127
se o req.header ('Origin') não estiver

69
00:06:09,127 --> 00:06:14,547
na lista branca, então você verá CorsOptions.

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

71
00:06:19,610 --> 00:06:24,815
Então, quando você definir origem como false, o controlador de acesso

72
00:06:24,815 --> 00:06:29,415
AlloWorigin não será retornado pelo site do meu servidor.

73
00:06:29,415 --> 00:06:33,411
E então uma vez que tenhamos feito isso,

74
00:06:33,411 --> 00:06:40,345
então vamos dizer callback (null, CorsOptions);.

75
00:06:40,345 --> 00:06:43,335
É isso. Então, chamando esta função aqui,

76
00:06:43,335 --> 00:06:48,010
CorsoptionsDelegate aqui, vamos verificar se a

77
00:06:48,010 --> 00:06:53,100
solicitação de entrada pertence a uma das origens da lista branca.

78
00:06:53,100 --> 00:06:57,342
Se for, então você responder de volta com controle de acesso

79
00:06:57,342 --> 00:07:02,313
AlloWorigin com a origem da solicitação definida lá.

80
00:07:02,313 --> 00:07:08,490
Caso contrário, não incluirá esse controle de acesso AlloWorigin quando ele responder.

81
00:07:08,490 --> 00:07:16,250
Agora, a partir desta função, vamos exportar cors como cors aqui.

82
00:07:16,250 --> 00:07:20,724
Agora, se você configurar o módulo cors simplesmente dizendo cors

83
00:07:20,724 --> 00:07:24,751
sem quaisquer opções, então isso significa que isso irá responder de

84
00:07:24,751 --> 00:07:29,597
volta com controle de acesso AlloWorigin com o pedágio curinga.

85
00:07:29,597 --> 00:07:32,748
Existem certas regras sobre as quais isso é aceitável para fazer,

86
00:07:32,748 --> 00:07:35,660
especialmente sempre que realizamos operações get.

87
00:07:35,660 --> 00:07:37,830
Tudo bem aceitar isso.

88
00:07:37,830 --> 00:07:44,660
Caso contrário, vamos dizer, CorsWithOptions = cors, e

89
00:07:44,660 --> 00:07:50,639
então vamos fornecer a) CorsOptionsDelegate)

90
00:07:50,639 --> 00:07:56,060
função que acabamos de definir anteriormente.

91
00:07:57,290 --> 00:08:02,230
Dessa forma, se você precisar aplicar A cors

92
00:08:02,230 --> 00:08:07,190
com opções específicas para uma rota específica, usaremos essa função.

93
00:08:07,190 --> 00:08:09,960
Caso contrário, usaremos os cors padrão.

94
00:08:09,960 --> 00:08:15,030
Agora que definimos o código relacionado a cors em cors.js,

95
00:08:15,030 --> 00:08:19,410
vamos começar a aplicar isso para as várias rotas.

96
00:08:19,410 --> 00:08:22,040
Então vamos começar com o DisishRouter.

97
00:08:22,040 --> 00:08:27,402
Então vamos abrir o DishRouter, e

98
00:08:27,402 --> 00:08:32,406
no DisishRouter, vamos primeiro

99
00:08:32,406 --> 00:08:37,064
[NOIED] importar [NOID]. /cors.

100
00:08:37,064 --> 00:08:41,320
Observe que o arquivo cors.js está na mesma pasta, então

101
00:08:41,320 --> 00:08:45,300
podemos apenas importar isso dizendo. /cors.js.

102
00:08:45,300 --> 00:08:47,417
Módulo de nó baseado em arquivo.

103
00:08:47,417 --> 00:08:53,650
Agora, para a solicitação GET, uma vez que tenhamos importado isso.

104
00:08:53,650 --> 00:08:58,970
Agora, para o DisHRouter, vou configurar o campo de opções.

105
00:08:58,970 --> 00:09:03,510
Então, como você viu, sempre que você precisa comprovar suas solicitações,

106
00:09:03,510 --> 00:09:10,250
o cliente irá primeiro enviar a mensagem de solicitação HTTP OPTIONS e, em seguida, obter

107
00:09:10,250 --> 00:09:14,340
a resposta do lado do servidor antes de realmente enviar a solicitação real.

108
00:09:14,340 --> 00:09:22,960
Então, para opções, se a mensagem de opções é recebida nesta rota particular,

109
00:09:22,960 --> 00:09:28,944
então vamos responder como cors.corsWithOptions, e,

110
00:09:31,539 --> 00:09:38,022
Com a função de retorno de chamada aqui, que diz,

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

112
00:09:45,773 --> 00:09:51,850
Não precisamos enviar nada além do status daqui.

113
00:09:51,850 --> 00:09:55,120
E assim, quando uma mensagem de opções é recebida,

114
00:09:55,120 --> 00:10:00,060
quando isso vai responder, vamos ver quais resultados quando enviamos uma solicitação

115
00:10:02,570 --> 00:10:05,230
de opção do lado do cliente para o lado do servidor em um vôo curto.

116
00:10:05,230 --> 00:10:08,910
Agora, essas opções, eu vou aplicar a todas as rotas.

117
00:10:08,910 --> 00:10:11,998
Então, para o DISHID, para

118
00:10:11,998 --> 00:10:16,560
o dishid/comentários, e também para

119
00:10:16,560 --> 00:10:22,605
o dishid/comentários começar, /:commentid.

120
00:10:24,210 --> 00:10:28,417
Então, todos os casos, eu vou aplicar as mesmas opções lá.

121
00:10:30,360 --> 00:10:34,090
Agora, voltando para cima, para

122
00:10:34,090 --> 00:10:39,290
o GET, vou simplesmente aplicar cors.

123
00:10:39,290 --> 00:10:46,474
Então, para o pedido GET, eu vou dizer, cors.cors,

124
00:10:46,474 --> 00:10:51,243
então note que este é o primeiro middleware que vamos aplicar, e

125
00:10:51,243 --> 00:10:54,660
depois disso ele vai passar para esta mensagem aqui.

126
00:10:54,660 --> 00:10:58,380
Assim, o middleware cors é introduzido lá.

127
00:10:58,380 --> 00:11:05,750
Para o POST, eles aplicarão cors.corsWithOptions.

128
00:11:05,750 --> 00:11:10,240
A mesma coisa para isso, PUT,

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

130
00:11:16,760 --> 00:11:21,550
mesma coisa para o restante POST, PUT e

131
00:11:21,550 --> 00:11:25,780
DELETE em todas as outras rotas aqui.

132
00:11:25,780 --> 00:11:31,562
Para o GET, vamos apenas usar os cors,

133
00:11:31,562 --> 00:11:38,124
então deixe-me apenas aplicar os corsWithOptions para POST

134
00:11:38,124 --> 00:11:43,437
, PUT e DELETE em todas as rotas aqui,

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

136
00:11:49,100 --> 00:11:52,711
Agora, para a operação GET como vimos para

137
00:11:52,711 --> 00:11:57,750
a versão do DisishRouter eu apenas apliquei cors.cors,

138
00:11:57,750 --> 00:12:02,910
então eu vou copiar isso e, em seguida, aplicá-lo a todos os GETs.

139
00:12:04,290 --> 00:12:09,580
Então, para este GET, em seguida, rolando para baixo para este GET, e,

140
00:12:09,580 --> 00:12:16,340
em seguida, também para o último, também vou aplicar a mesma opção.

141
00:12:16,340 --> 00:12:19,770
Então, meu DisishRouter agora está atualizado.

142
00:12:19,770 --> 00:12:23,672
Agora, eu vou fazer a mesma coisa com o PromOrouter,

143
00:12:23,672 --> 00:12:28,180
o LeaderRouter, o UploadRouter e também o users.js.

144
00:12:28,180 --> 00:12:32,660
Então, vamos abrir o LeaderRouter em seguida.

145
00:12:32,660 --> 00:12:37,127
No LeaderRouter, a primeira coisa, é claro, é

146
00:12:37,127 --> 00:12:41,086
incluir o módulo de nó baseado em arquivo cors, então

147
00:12:41,086 --> 00:12:46,620
deixe-me copiar isso e, em seguida, colá-lo no LeaderRouter.

148
00:12:46,620 --> 00:12:52,970
Em seguida, as opções, Eu vou aplicar a mesma coisa para o LeaderRouter também.

149
00:12:52,970 --> 00:12:58,230
Então, para o LeaderRouter, aplicarei o CorsWithOptions

150
00:12:58,230 --> 00:13:01,370
e, em seguida, a mesma coisa com o LeaderRouter ou LeaderID.

151
00:13:01,370 --> 00:13:08,190
Você tem apenas duas rotas aqui, então eu vou aplicar as opções para ambos.

152
00:13:08,190 --> 00:13:12,160
Para as operações GET,

153
00:13:12,160 --> 00:13:15,905
preciso aplicar os cors.cors, então copiando isso do DisishRouter.

154
00:13:17,180 --> 00:13:20,300
Este GET, Eu vou aplicar a mesma coisa, e

155
00:13:20,300 --> 00:13:24,120
então também este GET, Eu vou aplicar a mesma coisa.

156
00:13:24,120 --> 00:13:31,680
Agora, para o POST, PUT e DELETE, como você viu, vamos aplicar cors.corsWithOptions,

157
00:13:37,239 --> 00:13:40,443
Para o POST,

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

159
00:13:45,790 --> 00:13:50,462
E a mesma coisa para o POST, PUT, e

160
00:13:50,462 --> 00:13:54,850
DELETE do LeaderID também.

161
00:13:54,850 --> 00:13:59,410
Então, agora o meu LeaderRouter está atualizado, vamos para PromOrouter.

162
00:13:59,410 --> 00:14:05,537
E no PromOrouter também, vamos começar na parte inferior aqui para

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

164
00:14:11,130 --> 00:14:18,400
Então para este DELETE, PUT, POST.

165
00:14:18,400 --> 00:14:22,036
E para o GET, é claro,

166
00:14:22,036 --> 00:14:29,480
os cors.cors seguem este GET e o outro GET abaixo aqui.

167
00:14:31,680 --> 00:14:36,620
E então, vamos importar esses cors,

168
00:14:36,620 --> 00:14:40,782
então copiando isso do meu LeaderRouter.

169
00:14:40,782 --> 00:14:44,940
Então importamos cors aqui, e depois as opções.

170
00:14:44,940 --> 00:14:48,713
Então, eu vou copiar as opções a partir daqui e

171
00:14:48,713 --> 00:14:54,190
, em seguida, entrar no PromOrouter, eu vou aplicar as opções aqui.

172
00:14:56,020 --> 00:15:02,913
E também para o outro PromOrouter, as mesmas opções.

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

174
00:15:06,090 --> 00:15:11,801
Então vá para o UploadRouter, novamente,

175
00:15:11,801 --> 00:15:17,945
importar, Cors,

176
00:15:26,379 --> 00:15:30,904
Então, depois disso, para o UploadRouter.Router,

177
00:15:30,904 --> 00:15:33,820
deixe-me aplicar as opções lá.

178
00:15:36,859 --> 00:15:39,929
E para o GET,

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

180
00:15:44,590 --> 00:15:48,698
O POST seria cors.corsWithOptions. O

181
00:15:52,360 --> 00:15:59,770
mesmo para o, PUT.

182
00:15:59,770 --> 00:16:04,510
E exclua, para que meu roteador de upload seja atualizado.

183
00:16:05,800 --> 00:16:08,090
O último são os usuários.

184
00:16:08,090 --> 00:16:12,447
Então, nos usuários, deixe-me,

185
00:16:21,187 --> 00:16:25,157
Importar carros,

186
00:16:25,157 --> 00:16:30,078
E, neste caso, porque estamos fazendo router.get, router.post, e assim por diante.

187
00:16:30,078 --> 00:16:37,500
Então, para cada um deles, eu vou entrar e aplicar explicitamente,

188
00:16:45,144 --> 00:16:50,900
cars.carsWithOptions, mesmo para o GET aqui.

189
00:16:50,900 --> 00:16:54,398
Como o GET é executado pelo administrador aqui,

190
00:16:54,398 --> 00:16:57,730
nenhum outro usuário pode ter permissão para executar isso.

191
00:16:57,730 --> 00:17:03,527
Mas a inscrição, também CarsWithOptions para

192
00:17:03,527 --> 00:17:10,540
o login também vou aplicar, É isso.

193
00:17:10,540 --> 00:17:12,966
Vamos salvar todas as alterações para

194
00:17:12,966 --> 00:17:17,147
que tenhamos atualizações todas as várias rotas para usar carros.

195
00:17:17,147 --> 00:17:23,860
Vamos agora começar e ligar nosso servidor e depois ver como esses carros nos ajudam.

196
00:17:23,860 --> 00:17:27,122
Indo para o terminal,

197
00:17:27,122 --> 00:17:31,857
deixe-me iniciar o servidor aqui.

198
00:17:31,857 --> 00:17:34,947
E quando o servidor é iniciado,

199
00:17:34,947 --> 00:17:39,990
vamos para o nosso Postman e, em seguida, enviar um pedido GET.

200
00:17:42,015 --> 00:17:47,475
Então, quando você envia um pedido GET para um localhost: 3000dish,

201
00:17:47,475 --> 00:17:52,890
você receberá imediatamente uma resposta do lado do servidor.

202
00:17:52,890 --> 00:17:57,690
Claro que agora meu banco de dados está vazio então eu tenho um array vazio aqui, mas

203
00:17:57,690 --> 00:18:01,260
vamos olhar em particular para os cabeçalhos porque é aí que

204
00:18:02,260 --> 00:18:06,720
o ponto de interesse para nós está neste exercício.

205
00:18:06,720 --> 00:18:11,573
Então aqui, você pode ver que temos um cabeçalho adicional

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

207
00:18:15,930 --> 00:18:20,306
Então o Access-Control-Allow-Origin como você vê fornece o carro selvagem,

208
00:18:20,306 --> 00:18:22,140
que é a estrela aqui.

209
00:18:22,140 --> 00:18:25,874
Então, o que significa que, qualquer origem para acessar este recurso em particular,

210
00:18:25,874 --> 00:18:30,485
então o servidor diz que ok, qualquer origem terá permissão para acessar este recurso.

211
00:18:30,485 --> 00:18:32,960
Para o pedido GET estamos satisfeitos com isso.

212
00:18:34,070 --> 00:18:37,468
Vamos agora entrar no sistema, e

213
00:18:37,468 --> 00:18:42,530
então uma vez que obtivermos o token, deixe-me copiar o token aqui.

214
00:18:42,530 --> 00:18:49,210
E então vamos executar uma operação de exclusão em nosso site do servidor.

215
00:18:50,320 --> 00:18:54,930
Então vamos excluir os pratos aqui, então

216
00:18:54,930 --> 00:19:01,360
deixe-me incluir o, Token no cabeçalho de autorização aqui.

217
00:19:01,360 --> 00:19:05,561
E também observe que, para a operação de exclusão, estou definindo a origem.

218
00:19:05,561 --> 00:19:13,280
Então, outro campo aqui chamado origem para httpslocalhost: 3343 aqui.

219
00:19:13,280 --> 00:19:16,680
Então, indicando que esta operação de exclusão está realmente

220
00:19:17,860 --> 00:19:20,740
tentando excluir nesta origem particular aqui.

221
00:19:22,170 --> 00:19:28,521
E assim, quando realizamos esta operação assim, se você estiver fazendo isso a partir de um navegador,

222
00:19:28,521 --> 00:19:33,142
a origem será automaticamente definida pelo navegador com

223
00:19:33,142 --> 00:19:37,779
base na página web a partir da qual a solicitação é originada.

224
00:19:37,779 --> 00:19:43,400
Mas aqui, já que estamos usando o Carteiro, eu tenho que definir explicitamente a origem aqui.

225
00:19:43,400 --> 00:19:47,060
Então deixe-me enviar o pedido com este campo de origem definido aqui.

226
00:19:47,060 --> 00:19:51,415
E então você notaria que o campo de cabeçalho agora contém

227
00:19:51,415 --> 00:19:57,615
Access-Control-Allow-Origin com o localhost: 3443 especificado aqui.

228
00:19:57,615 --> 00:20:02,280
E como você vai notar que esta origem está na lista branca.

229
00:20:02,280 --> 00:20:06,520
Então é por isso que este Access-Control-Allow-Origin está definido para

230
00:20:06,520 --> 00:20:10,520
a mesma origem que nós especificamos lá.

231
00:20:10,520 --> 00:20:15,927
Se você especificar uma origem diferente, por exemplo,

232
00:20:15,927 --> 00:20:23,430
se você especificar, Digamos localhost: 2000, por exemplo.

233
00:20:23,430 --> 00:20:30,490
Você notará que isso não terá, na resposta vinda do servidor,

234
00:20:30,490 --> 00:20:36,210
isso não terá o Access-Control-Allow-Origin definido aqui.

235
00:20:36,210 --> 00:20:42,790
Porque, este endereço específico não está na lista branca no site do servidor.

236
00:20:42,790 --> 00:20:45,710
Vejamos agora um exemplo de preflighting um pedido.

237
00:20:45,710 --> 00:20:51,749
Então, para fazer isso, no Carteiro, selecione Opções aqui

238
00:20:51,749 --> 00:20:56,718
e, em seguida, vamos enviar uma solicitação preflighting

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

240
00:21:00,650 --> 00:21:05,170
E no cabeçalho vamos, Coloque

241
00:21:05,170 --> 00:21:10,725
a origem como https:localhost3443.

242
00:21:10,725 --> 00:21:18,120
E, em seguida, este enviar este pedido para o servidor.

243
00:21:18,120 --> 00:21:22,575
E em resposta a esta solicitação de opções que você enviou para o servidor,

244
00:21:22,575 --> 00:21:27,540
você notará que na mensagem de resposta diremos 204 Sem Conteúdo.

245
00:21:27,540 --> 00:21:31,790
Não há conteúdo a ser devolvido aqui.

246
00:21:31,790 --> 00:21:39,110
Mas, quando você olha para os cabeçalhos da mensagem de resposta que vem, observe que

247
00:21:39,110 --> 00:21:43,960
temos o Access-Control-Allow-Origin para ser definido para esse valor.

248
00:21:43,960 --> 00:21:47,750
Observe também que ele define os métodos Access-Control-Allow.

249
00:21:47,750 --> 00:21:52,340
E aqui ele especifica os métodos que o servidor estará

250
00:21:52,340 --> 00:21:55,500
disposto a aceitar neste ponto final.

251
00:21:55,500 --> 00:22:00,880
Assim, você está informando o cliente dizendo que,

252
00:22:00,880 --> 00:22:06,240
todos esses métodos são aceitáveis para o servidor no ponto final correspondente.

253
00:22:06,240 --> 00:22:12,120
Então, é assim que podemos fazer preflighting de um pedido.

254
00:22:12,120 --> 00:22:16,130
Enviando a mensagem de solicitação de opções primeiro e,

255
00:22:16,130 --> 00:22:19,700
em seguida, recebendo de volta as informações do servidor aqui.

256
00:22:19,700 --> 00:22:24,030
E, como você se lembra, isso é o que configuramos na

257
00:22:24,030 --> 00:22:29,160
parte de opções de cada um dos pontos finais do roteador.

258
00:22:29,160 --> 00:22:34,098
Então é assim que podemos configurar nosso módulo de nó de carros e

259
00:22:34,098 --> 00:22:40,490
, em seguida, configurar nosso servidor para responder com várias mensagens de cabeçalho.

260
00:22:40,490 --> 00:22:43,360
Com isso, completamos este exercício.

261
00:22:43,360 --> 00:22:48,080
Neste exercício, vimos como podemos configurar nosso servidor para ser capaz de enviar de

262
00:22:48,080 --> 00:22:53,080
volta vários cabeçalhos relacionados ao curso na mensagem de resposta

263
00:22:53,080 --> 00:22:55,190
usando o módulo nó do curso.

264
00:22:56,330 --> 00:22:58,196
Com isso, completamos este exercício.

265
00:22:58,196 --> 00:23:01,515
Este é um bom momento para você fazer um comentário GIT com o curso de mensagem.

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