91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么理解服務器的跨域訪問

發布時間:2021-11-16 16:04:26 來源:億速云 閱讀:190 作者:iii 欄目:大數據

本篇內容介紹了“怎么理解服務器的跨域訪問”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

跨域訪問問題,一般是由于瀏覽器同源策略保護引起。

目前最為安全且流行的是使用服務器代理,使得前后端處于同源。

一、這種方式運用的就是服務器的反向代理技術,控制客戶端和服務器的訪問都從代理服務器經過,比如用nginx作為服務器代理,在nginx上配置客戶端和第三方服務的反向代理,這樣就可保證客戶端、第三方是同源的了,同一個源,都來自代理服務器。

二、JSONP

jsonp解決跨域問題的原理是,瀏覽器的script標簽是不受同源策略限制的,我們可以在script標簽中訪問任何域名下的資源文件。利用這一特性,用script標簽從服務器中請求數據,同時服務器返回一個帶有方法和數據的js代碼,請求完成,調用本地的js方法,來完成數據的處理。
不推薦使用jsonp,首先jsonp是一種非官方的方法,而且這種方法只支持GET方法,不如POST方法安全;而且一般前后端分離最通用的方法是返回統一的json格式。

三、服務器端跨域訪問設置

對于spring boot

controller啟用@CrossOrigin:如@CrossOrigin(origins = "http://xxx.com", maxAge = 3600)

origins  : 允許可訪問的域列表
maxAge:準備響應前的緩存持續的最大時間(以秒為單位)。

也可以在filter設置

public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
        HttpServletResponse response = (HttpServletResponse) res;
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
        response.setHeader("Access-Control-Max-Age", "3600");
        response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
        chain.doFilter(req, res);
    }

或者攔截器

@Configuration
public class MyConfiguration extends WebMvcConfigurerAdapter  {

    @Override  
    public void addCorsMappings(CorsRegistry registry) {  
        registry.addMapping("/**")  
                .allowCredentials(true)  
                .allowedHeaders("*")  
                .allowedOrigins("*")  
                .allowedMethods("*");  

    }  
}

或者注入bean

@Bean
    public CorsFilter corsFilter() {
        final UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource();
        final CorsConfiguration corsConfiguration = new CorsConfiguration();
        /*是否允許請求帶有驗證信息*/
        corsConfiguration.setAllowCredentials(true);
        /*允許訪問的客戶端域名*/
        corsConfiguration.addAllowedOrigin("*");
        /*允許服務端訪問的客戶端請求頭*/
        corsConfiguration.addAllowedHeader("*");
        /*允許訪問的方法名,GET POST等*/
        corsConfiguration.addAllowedMethod("*");
        urlBasedCorsConfigurationSource.registerCorsConfiguration("/**", corsConfiguration);
        return new CorsFilter(urlBasedCorsConfigurationSource);
    }

“怎么理解服務器的跨域訪問”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

资中县| 永嘉县| 柘荣县| 芜湖市| 宁武县| 松阳县| 武强县| 贵港市| 苏州市| 兴义市| 连城县| 霸州市| 师宗县| 阿巴嘎旗| 阜康市| 长葛市| 策勒县| 桐庐县| 惠州市| 浪卡子县| 喀喇| 隆林| 文山县| 永登县| 邳州市| 松阳县| 肃宁县| 修水县| 临西县| 达拉特旗| 乐亭县| 江城| 江门市| 大名县| 柯坪县| 巴马| 青岛市| 东乌| 格尔木市| 文化| 林西县|