1. Untuk proyek yang dipisahkan oleh proyek front-end dan back-end, jika proyek front-end dan proyek back-end digunakan di dua domain yang berbeda, itu pasti akan menyebabkan masalah lintas domain.
Untuk masalah lintas domain, solusi pertama yang kita pikirkan adalah JSONP, dan pada dasarnya saya berurusan dengan masalah lintas domain di masa lalu.
Namun, metode JSONP juga memiliki kekurangan. Apakah untuk front-end atau back-end, metode penulisan berbeda dari metode penulisan AJAX kami yang biasa, dan back-end juga perlu membuat perubahan yang sesuai. Selain itu, metode JSONP hanya dapat melewati parameter melalui permintaan GET, dan tentu saja ada kekurangan lainnya. Menanggapi hal ini, saya tidak terburu-buru menggunakan metode JSONP untuk menyelesaikan masalah domain lintas. Saya online untuk menemukan metode lain, itulah yang terutama dibicarakan oleh artikel ini, dan memecahkan masalah domain lintas melalui protokol CORS di Springboot.
2. Perjanjian CORS
Fitur baru di H5: Berbagi Sumber Daya Cross-Origin. Melalui itu, pengembang kami (terutama pengembang backend) dapat memutuskan apakah sumber daya dapat diakses di seluruh domain.
CORS adalah standar W3C, yang memungkinkan browser (saat ini di bawah IE8 tidak dapat didukung). Seperti server kami dari berbagai sumber, kami dapat terus menggunakan AJAX untuk akses permintaan.
Untuk artikel spesifik tentang protokol CORS, silakan merujuk ke http://www.vevb.com/article/83093.htm. Artikel ini cukup bagus.
3. Cara Memecahkan Masalah Domain Silang Melalui Protokol CORS di Springboot
Versi springmvc4.2 menambahkan dukungan untuk CORS.
Saat ini, proyek yang saya lakukan pada dasarnya dikembangkan di Springboot, jadi saya akan memposting penggunaan di Springboot di sini.
@ConfigurationPublic kelas myWebAppConfigure memperluas webmvcconfigurerAdapter {@Override public void addCorSmappings (CorsRegistry Registry) {registry.addmapping ("/**"); }Jalur kami dapat dikonfigurasi di AddMapping. /** mewakili semua jalur.
Tentu saja, properti lain juga dapat dimodifikasi
@ConfigurationPublic kelas myWebAppConfigurer memperluas webmvcconfigurerAdapter {@override void public addCorsmappings (Corsregistry Registry) {Registry.addmapping ("/API," "(ALLOWEDORIGINS (" http://19.16.19 "(" http://19.16.19.19). .Allowcredentials (false) .Maxage (3600); }Dua di atas semua untuk konfigurasi global. Jika Anda ingin lebih rinci, Anda juga dapat menggunakan anotasi @crossorigin di kelas pengontrol.
@Crossorigin (origins = "http://192.168.1.97:8080", maxage = 3600) @RequestMapping ("rest_index")@restcontrollerPublic class controller { Ini memungkinkan Anda untuk menentukan bahwa semua metode dalam pengontrol dapat menangani permintaan dari HTTP: 19.168.1.97: 8080.
Meringkaskan
Di atas adalah pengantar editor tentang cara memecahkan masalah domain lintas melalui protokol CORS di springboot. Saya harap ini akan membantu semua orang. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas semua orang tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!