前端面试题 | 跨域

作者: Eriice | 来源:发表于2019-07-29 18:34 被阅读0次
image

打铁趁热。

上一期,我们提到同源策略的一些限制,包括:

  • 浏览器中页面与页面之间的访问限制

  • 浏览器与服务器之间的请求访问限制

而越过同源策略的限制,我们称之为跨域。

比如最常见的:开发阶段需要请求线上服务器资源。

此时本地的页面与线上服务器肯定不同源,这就需要跨域解决。

JSONP、使用代理服务器、跨源资源共享(CORS)、使用 WebSocket 等都是常见的办法。

《JavaScript 高级程序设计(第三版)》586页 中,还提到一种有趣的技术:

图像 Ping。

利用动态创建 <img> 来触发链接,就像从页面向服务器发送了一个 Ping 请求,实现了浏览器向服务器的单向通讯。

👆上面提到的都是浏览器与服务器之间的跨域方案。

但是不要忽略了——

还有浏览器与浏览器之间的跨域。

关于页面间的跨域,最值得关注的是 window.postMessage() 这个 API ,调用它能将消息发送到其他页面。

今天给大家带来的也是一道比较简单的跨域题目。


题目

在前端项目开发过程中,如果需要 Get 请求线上数据,下列几种跨域方案中,哪一种不需要依赖服务器端?

  • A. 跨源资源共享(CORS)
  • B. JSONP
  • C. 配置代理服务器
  • D. WebSocket

正确答案:C

解析:

跨源资源共享(CORS)需要服务器端在返回报文的头部做相应处理。

JSONP 需要服务器端将 JSON 数据填充(Padding)到前后端约定的字段中返回。

WebSocket 通信协议需要后端的支持才能启用。

所以,只有配置代理服务器,这种方案可以不依赖服务器端。只需要在本地配置好代理服务器,实现请求的转发,即可进行跨域请求。


点击👉「跨域测试」👈,一道小题目测试你对跨域的理解。

相关文章

  • 关于设置env等环境变量的思考

    1、如何处理跨域后台处理跨域前端处理跨域浏览器处理跨域 前端本地处理跨域:代理线上跨域的处理方式:Nginx反向代...

  • 跨域解决方案(史上最易懂)

    跨域总结 1.跨域思路 跨域解决方案一般分为两种:前端解决,后端解决 1.1 前端解决方案 通过前端解决的思想就是...

  • 浏览器跨域的那些事

    整理中 目标: 了解跨域 解决跨域 服务器配置跨域(java, nginx) 前端调试时配置解决跨域 一、什么是跨...

  • 前端跨域

    CORS跨域 1.CORS跨域-服务端设置,前端直接调用说明:后台允许前端某个站点进行访问 2.JSONP跨域-前...

  • vue-cli proxyTable配置

    前端的跨域转发 后端不需要配置,前端就可以实现跨域 proxyTable 的通常配置 这样就可以实现基本的跨域转发...

  • 好程序员web前端培训分享Web前端面试题汇总JS篇之跨域问题

    好程序员web前端培训分享Web前端面试题汇总JS篇之跨域问题,接着上一篇文章我们继续来探讨web前端面试必备面试...

  • django跨域配置

    前言——跨域请求 前端对Cross-Origin Resource Sharing 问题(CORS,中文又称'跨域...

  • 今日头条面试--2018

    2018 最新今日头条面试题 CSRF了解吗? 如何理解跨域,怎么解决跨域? cookie,sessionStor...

  • 前端请求

    node 简单跨域 前端简单请求

  • [mark]九种跨域方式实现原理

    前端如何使用proxyTable和nginx解决跨域问题 前言 前后端数据交互经常会碰到请求跨域,什么是跨域,以及...

网友评论

    本文标题:前端面试题 | 跨域

    本文链接:https://www.haomeiwen.com/subject/lpywlctx.html