Domínio cruzado
Um recurso inicia uma solicitação HTTP cruzada quando um recurso que solicita é um nome de domínio diferente do primeiro recurso que ele fornece.
Por exemplo, um aplicativo da web com nome de domínio a (http://domainb.foo) apresenta um determinado recurso de imagem (http://domainb.foo/image.jpg) do site de nome de domínio b (http://domainb.foo/image.jpg) através de uma tag. O aplicativo da Web com o nome de domínio A fará com que o navegador inicie uma solicitação HTTP cruzada. No desenvolvimento da Web de hoje, o uso de solicitações HTTP cruzadas para carregar vários recursos (incluindo CSS, imagens, scripts JavaScript e outros recursos) tornou-se uma maneira comum e popular.
Como você sabe, por razões de segurança, os navegadores restringem as solicitações cruzadas iniciadas em scripts. Por exemplo, para iniciar solicitações HTTP usando o objeto XMLHTTPREQUEST, você deve cumprir a política da mesma origem. Especificamente, um aplicativo da Web pode e pode usar apenas o objeto XmlHttPrequest para iniciar solicitações HTTP no nome de domínio de origem que ele carrega e não pode iniciar solicitações para qualquer outro nome de domínio. Para desenvolver aplicativos da Web mais poderosos, mais ricos e mais seguros, os desenvolvedores estão ansiosos para se tornar mais poderosos e mais ricos sem perder a segurança. Por exemplo, você pode usar o XMLHTTPREQUEST para iniciar uma solicitação HTTP cruzada. (Esta descrição do domínio cruzada é imprecisa. Domínio cruzado não é que o navegador restrinja as solicitações de domínio cruzado, mas as solicitações de domínio cruzado podem ser iniciadas normalmente, mas o resultado é interceptado pelo navegador. Domínios HTTPs, como Chrome e Firefox.
MAIS: https://developer.mozilla.org/zh-cn/docs/web/http/access_control_cors
Cros
CORS é o compartilhamento de recursos de origem cruzada de origem cruzada. O servidor precisa adicionar apenas informações relevantes sobre o cabeçalho da resposta para permitir que o cliente emita solicitações de domínio cruzado do Ajax.
@Crossorigin
1. Use diretamente todas as solicitações no controlador pode ser domínio cruzado, Origins = "*" significa que todas as solicitações podem ser solicitadas.
@Crossorigin (origins = "http://domain2.com", maxage = 3600)@RestController@requestmapping ("/conta") public Class AccountController {@RequestMapping ("/{id}") public Rect (@PathVariable Long id) {// ... "/{id}") public void Remover (@PathVariable Long id) {// ...}} 2. Use -o no método
@Crossorigin (maxage = 3600) @RestController @requestmapping ("/conta") public class AccountController {@crossorigin ("http://domain2.com") @requestMapping ("/{id}") public Recourie (@Pathiable Long id) {/} "/{id}") public void Remover (@PathVariable Long id) {// ...}}Outro método:
O principal objetivo do CorSFilter é adicionar cabeçalhos de informações relevantes, que também podem ser alcançados usando o filtro.
@ConfigurationPublic Classe BeanConfiguration {@Bean public corsfilter corsFilter () {final urlbasedCorsConfigurationsource UrlBasedCorsConfigurações final corsConfiguration corsConfiguration = new CORSConfiguration (); corsConfiguration.setLowedCredentials (true); corsConfiguration.addallowEDorigin ("*"); corsConfiguration.addallowEdHeader ("*"); corsConfiguration.addallowEdMethod ("*"); URLBasedCorsConfigurationsource.RegisterCorsConfiguration ("/**", corsConfiguration); Retornar o novo Corsfilter (URLBasedCorsConfigurações ouce); }}Access-Control-Alow-Origin: o nome do domínio do cliente que pode acessar, por exemplo: http://web.xxx.com. Se *, significa que ele pode ser acessado a partir de qualquer domínio, ou seja, não são necessárias restrições.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.