Política de mesma origem? Domínio cruzado?
Mesma origem, origem diferente
Se o protocolo, o nome de domínio e o número da porta forem iguais, eles são da mesma fonte. Se algum dos três for diferente, eles são de fontes diferentes.
Qual é a política de mesma origem do navegador?
A política de mesma origem é uma medida de proteção ao nível do navegador que limita a utilização de dados de diferentes fontes e evita problemas de segurança.
- Aqui o navegador fez uma solicitação a um servidor de uma fonte diferente, mas rejeitou os dados respondidos pelo servidor.
O que é domínio cruzado?
Antes de cada solicitação, o navegador deve primeiro usar
OPTIONS
o método para iniciar uma solicitação de comprovação (solicitação de comprovação) para saber se o servidor permite a solicitação de origem cruzada. Depois que o servidor confirma a permissão, ele inicia a solicitação HTTP real. No retorno da solicitação de comprovação, o servidor também pode notificar o cliente se ele precisa transportar credenciais de identidade (incluindo cookies e dados relacionados à autenticação HTTP ). Entre domínios é para ignorar esta limitação do navegador. O navegador pode usar dados de diferentes fontes.
举个例子:
Você vai a uma loja KFC e pede ao balconista para ajudá-lo a comprar uma tigela de Lanzhou Ramen. O balconista liga para o restaurante de ramen e pede um Lanzhou Ramen. Depois que o macarrão é entregue, o balconista o interrompe e se recusa a deixá-lo usá-lo.
Neste cenário:
Escriturário: Navegador
Casa Ramen: Servidor
Lanzhou Ramen: dados solicitados
Aqui o navegador solicitou o servidor, mas o navegador recusou-se a usar os dados solicitados.
O processo de problemas entre domínios:
O Navegador detecta quais solicitações precisam ser pré-verificadas e envia uma solicitação usando o método OPTIONS. OPTIONS é um método definido no protocolo HTTP/1.1 e é usado para obter mais informações do Servidor. Este método não afeta os recursos do Servidor. .Influência. A solicitação de simulação também carrega os dois campos de cabeçalho a seguir:
- Método de solicitação de controle de acesso: POST
- Cabeçalhos de solicitação de controle de acesso: X-PINGOTHER, tipo de conteúdo
O primeiro campo informa ao servidor que a solicitação real é o método POST, e o segundo campo informa ao navegador que a solicitação real conterá dois campos de cabeçalho de solicitação. O servidor decide com base nisso se a solicitação é permitida.
Solução:
Adicione o campo Access-Control-Allow-Origin ao cabeçalho de resposta para informar ao navegador de quais domínios o recurso pode ser acessado.
Access-Control-Allow-Origin: https://foo.example
Acesso-Controle-Permitir-Origem: *