urlconnection设置请求头
不会经过网关
分析下feign原理,feign主要是使用动态代理
Feign的源码实现的过程如下:
首先通过@EnableFeignCleints注解开启FeignCleint
根据Feign的规则实现接口,并加@FeignCleint注解
程序启动后,会进行包扫描,扫描所有的@ FeignCleint的注解的类,并将这些信息注入到ioc容器中。
当接口的方法被调用,通过jdk的代理,来生成具体的RequesTemplate
RequesTemplate在生成Request
Request交给Client去处理,其中Client可以是HttpUrlConnection、HttpClient也可以是Okhttp
最后Client被封装到LoadBalanceClient类,这个类结合类Ribbon做到了负载均衡。
Ribbon通过维护的服务列表,通过feign的name属性找到真实的ip和端口
Ribbon实际是封装了restTemplate
所以feign其实是通过http请求找到对应的服务而不是网关.
feign设置请求头
feign、http,有时候在调用第三方api的时候、使用httpclient,别人的接口不可能提供它的配置,自己项目框架是spring的,使用feign相互配置,都是okhttpclient的方式。
Feign是一个接口声明式调用框架,实现了一个抽象层的逻辑,没有真正实现底层http请求,提供了一个client接口用于实现底层http操作,默认提供的实现是基于httpurlconnection,也有基于apachehttpclient的实现,且feign具有分布式负载均衡功能
jmeter设置请求头
打开jmeter
在测试计划中新建线程组
在线程组中新建http请求
在http请求中:
web服务器中的服务器名称或ip中填写接口的host域名
端口号如果是https的就是443,如果是http的80或者不填,本地服务的就输入本地的设置端口号
在http请求中填写:implementation中默认不填写。协议如果是https的就填https,其他默认不填
方法是什么方法就填什么方法
路径中填写接口的路径
5.添加查看结果树
6.运行,在查看结果树中查看接口运行的结果
前端设置请求头
目前借鉴的方法:前端把account和password,提交到服务端的登录api,服务端验证正确后,生成一个token,并把token和userId,存在缓存里(推荐redis数据库),然后把token返回给前端。前端每次的请求头中带token,这样就能够轻松的实现。
iframe设置请求头
编写HTML代码时候用Iframe中弹出层覆盖整个页面,代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd">
<HTML><head><script>var cover =mydiv= null;window.onload = function() { cover=document.getElementById('coverdiv'); cover.style.width = Math.max(document.documentElement.scrollWidth, document.documentElement.clientWidth)+ "px"; cover.style.height = Math.max(document.documentElement.scrollHeight, document.documentElement.clientHeight) + "px" cover.style.display = "none"; mydiv = document.getElementById('mydiv'); with (mydiv){ style.width = document.documentElement.scrollHeight/2+"px"; style.height = document.documentElement.scrollHeight/2+"px"; style.left = (document.documentElement.scrollWidth - mydiv.offsetWidth)/2+"px"; style.top = (document.documentElement.scrollHeight - mydiv.offsetHeight)/2+"px"; style.display = "none"; }};function popit(){ mydiv.style.display=cover.style.display = '';}</script></head><BODY><div id='coverdiv' > </div><div id='mydiv' >我的层 <br><input value="关闭" type="button" onclick="javacript:mydiv.style.display =cover.style.display = 'none';" /></div><iframe id=aaa src="222.htm"></iframe></BODY> </HTML>Button按钮点击调用上面的事件:
<button onclick="javascript:parent.popit();">弹出</button><br><br>
ajax设置请求头
要在nginx上启用跨域请求,需要添加add_header Access-Control*指令。
nginx 设置请求头
可以设置server_tokens,设置为off,则不显示server字段,设置为一个字符串,则server显示为该字符串的值,用法如下(此为附加版本功能):
src设置请求头
要自己创建一个src目录下的xml文件,你可以用鼠标右击应用项目的src下的layout目录,在弹出的菜单中选择“新建”\“文件”项,在“新建文件”对话框中填写文件名为weather.xml后,就可以编写xml的代码了。