HTTP请求与跨域

浏览器发出一个请求到收到响应经历了哪些步骤

1、浏览器解析用户输入的URL,生成一个HTTP格式的请求;

2、先根据URL域名从本地hosts文件查找是否有映射IP,如果没有就将域名发送给电脑配置的DNS进行域名解析,得到IP地址;

3、浏览器通过操作系统将请求通过四层网络协议发送出去;

4、途中可能会经过各种路由器、交换机,最终到达服务器;

5、服务器接收到请求后,根据请求所指定的端口,将请求传递给绑定了该端口的应用程序,如tomcat;

6、tomcat接收请求数据后,按照http协议的格式进行解析,解析得到所要访问的servlet,然后servlet来处理这个请求,如是SpringMVC中的DispatcherServlet,那么则会找到对应的Controller中的方法,并执行该方法得到结果;

7、Tomcat得到响应结果后封装成HTTP响应的格式,再次通过网络发送给服务器,服务器将结果传递给浏览器,浏览器负责解析并渲染;

跨域请求是什么,如何解决

跨域:指浏览器在发起网络请求时,会检查该请求所对应的协议、域名、端口和当前网页是否一致,如果不一致则浏览器会进行限制。之所以进行这种限制,是为了用户信息安全。跨域通过ajax访问是限制的,可以通过img、iframe、script等标签的src属性,则不限制。主要限制不同源网站相互之间的ajax调用。

如何解决跨域:

1、response添加header,resp.setHeader("Access-Control-Allow-Origin","*"),表示可以访问,不受是否同源的限制;

2、jsonp的方式,该技术底层就是基于script标签来实现的,因为script标签是可以跨域的;

3、后台自己控制,先访问同域名下的接口,然后在后台接口中再去使用HTTPClient等工具去调用目标接口;

4、网关,和第三种方式类似,都是交给后台服务来解决跨域访问;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值