http请求header相关的几个常见问题-创新互联

http协议可能是目前web远程调用领域最常用的协议,一如之前的soap协议。作为轻量级可靠传输协议,基于http协议的服务几乎成了restful的代名词,今天列举几个使用过程中http 相关的问题。

10年积累的成都网站建设、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有钟山免费网站建设让你可以放心的选择与我们合作。
  1. 跨域
    大家也最常遇到,解决办法也有很多,譬如在网关服务中引入CorsFilter,指定或者放开所有的域名和header。
@Bean
    public CorsFilter corsFilter() {
        final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        final CorsConfiguration config = new CorsConfiguration();
        config.setAllowCredentials(true);
        config.addAllowedOrigin("*");  
        config.addAllowedHeader("*");
        config.addAllowedMethod("OPTIONS");
        config.addAllowedMethod("HEAD");
        config.addAllowedMethod("GET");
        config.addAllowedMethod("PUT");
        config.addAllowedMethod("POST");
        config.addAllowedMethod("DELETE");
        config.addAllowedMethod("PATCH");
        source.registerCorsConfiguration("/**", config);
        return new CorsFilter(source);
    }

另一种解决办法是调整代理服务器如nginx。

add_header 'Access-Control-Allow-Origin' '$http_origin';
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, PUT, POST, DELETE, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'Content-Type,*';
  1. 中文header
    http协议不支持中文header!!!
    所以想要在header中传递中文信息,需要转码,接收端再解码。

Base64.encodeBase64String(origin.getBytes("utf-8"));

  1. header丢失
    刚遇到的一个问题,request header中有个参数request_user_id, 认证服务拦截器发现request.getHeader取不到。一开始怀疑是apigateway的问题,查看了apigateway的代码,发现只是普通的转发,并没有重新代理请求,所以不存在这个问题;将请求地址改为ip重试(一开始请求的是域名地址),发现可以获取header值,header参数的准入主要靠
    corsFilter的 config.addAllowedHeader(""),现在配置的是,也就是除了中文外的所有参数都应该能传递才对。
    重新梳理服务链路,域名解析-nginx-apigateway-目标服务,锁定到nginx头上。nginx内部的设置,也是允许所有,但是nginx还有个限制,就是下划线的参数,会被忽略(坑啊!)
    调整nginx的http参数,打开下划线参数,重启,问题得到解决。

underscores_in_headers on;

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。

本文标题:http请求header相关的几个常见问题-创新互联
文章出自:https://www.cdcxhl.com/article22/eddjc.html

成都网站建设公司_创新互联,为您提供全网营销推广定制开发网站建设用户体验网站排名手机网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

微信小程序开发