O que é uma origem
Parte da seção APIs REST do Journey de Node.js da Coddy. Lição 18 de 25.
Normalmente, um navegador permite que o JavaScript de uma página leia respostas de API da própria origem. Essa regra de mesma origem impede que uma página leia livremente os dados de outro site. O CORS, Compartilhamento de Recursos entre Origens, permite que um servidor autorize outra origem por meio de cabeçalhos de resposta.
Uma página no navegador tem uma origem: seu esquema, host e porta em conjunto. Caminhos diferentes na mesma origem podem compartilhar uma API sem permissão de CORS. Uma alteração no host, esquema ou porta cria uma origem diferente.
new URL('https://board.example.com/tasks').origin;
// 'https://board.example.com'
new URL('https://board.example.com/help').origin;
// a mesma origemURL é uma classe integrada que divide um endereço em partes nomeadas. Sua propriedade origin exclui o caminho e a consulta. O endereço da página fornecido é fixo no código inicial. Esta prática compara origens; na próxima etapa, um servidor poderá conceder permissão entre elas.
O cabeçalho Origin de uma solicitação já contém esse valor de origem; na próxima lição, você lerá esse cabeçalho.
Desafio
FácilEste é um pequeno projeto de prática. A configuração é fornecida; edite apenas exercise.js.
Retorne {"same":true} quando o endereço fornecido compartilhar a origem da página; caso contrário, retorne false. Enviar {"address":"https://board.example.com/api/tasks"} por POST para /result retorna true. Alterar https para http, o host ou a porta retorna false. Os endereços neste exercício são URLs absolutas válidas.
A chamada inicial GET /result usa o exemplo fornecido {"address": "https://board.example.com/api/tasks"}. Use POST /result com um corpo JSON para testar outras entradas.
Experimente você mesmo
const page = 'https://board.example.com/tasks';
export function exercise({ address }) {
return { same: address === page };
}
Todas as lições de APIs REST
1Recursos e verbos
Recursos e URLsCriando com POST4Navegadores, versões e configuração
O que é uma origemPermitindo outra origemCORSUma página que chama a APIPratique por conta própria: Playground de Express