V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
devhxy
V2EX  ›  程序员

8 年+应该懂跨域问题吗?

  •  
  •   devhxy · 20 小时 1 分钟前 · 7933 次点击
    作为一个面试官,我面试尽量规避八股文,可现实接触到很多后端开发说我只负责 api 开发,项目中没有开发过 web ,但是简历里面又说熟悉 Vue,React 等,

    虽说目前开发模式都是前后端分离,这类问题确实不需要他这个岗位去解决,有运维有架构去解决这些系统层面的问题,我还是象征性的问了下什么是跨域?答案完全不在点上!

    这能算卷吗?
    114 条回复    2025-05-16 07:08:46 +08:00
    1  2  
    lscho
        101
    lscho  
       11 小时 57 分钟前   ❤️ 1
    别的岗位几年不懂跨域无所谓

    但是做 web 开发 1 ~ 2 年还不懂跨域妥妥废材。

    前端不懂意味着对浏览器的各种策略、和对 js 标准的实现毫无研究
    后端不懂意味着对 http 协议毫无研究
    fun201108
        102
    fun201108  
       11 小时 30 分钟前
    @lqu3j #80 我用 Firefox 调试
    abolast
        103
    abolast  
       10 小时 36 分钟前
    跨域根本就不是问题,跨域是浏览器的安全措施标准。
    要不让 CORS 告警出现,成功执行非同源脚本,可以根据浏览器报错信息逐步添加对应的头部,这个 http 端的 nginx 可以响应自定义头部,不过标准版 nginx 毕竟不是高级语言,不灵活。建议是后端根据公司服务判断如何响应头部,要有限制的响应,不能无脑给一个通配符
    abolast
        104
    abolast  
       10 小时 33 分钟前
    @lscho 「后端不懂意味着对 http 协议毫无研究」 说得太好了。对于 web 前端来说,必须能提前预见到 CORS 的出现,并提前和后端/运维对接好。
    yankebupt
        105
    yankebupt  
       10 小时 28 分钟前
    三年不知道跨域不应该,但现实中真有
    8年不知道跨域纯属胡扯……在家上了8年网也该知道跨域了……
    xjzshttps
        106
    xjzshttps  
       10 小时 25 分钟前
    即使只负责 api 开发,至少也要听说过跨域吧?
    如果还熟悉 Vue 、React ,那么至少要知道怎么解决跨域问题吧?

    这不是几年开发的问题,而是成熟的开发的基础要求。
    当然细节可能记不清楚,这个倒是正常,可能很久没碰倒了,公司现存项目默认就带配置解决了问题。
    yeqizhang
        107
    yeqizhang  
       8 小时 57 分钟前 via Android
    @lscho 这和协议没啥关系吧,没遇到跨域的问题的话不知道这东西也正常,允许跨域的头也是浏览器这边的规范和定义的头,协议的标准里写了这个?
    zhleonix
        108
    zhleonix  
       8 小时 56 分钟前
    8 年的螺丝钉真的不敢招。
    y1y1
        109
    y1y1  
       8 小时 49 分钟前
    八年?八天都该懂的东西
    abolast
        110
    abolast  
       8 小时 48 分钟前
    @yeqizhang 作为一个运维,mozilla 的文档我基本看了个遍来增加自己的知识储备,其中 https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Guides/CORS 就讲到跨域,是包含在 http 这部分。所以,这是后端的技能素养之一
    isnullstring
        111
    isnullstring  
       6 小时 46 分钟前
    @hwdq0012 #25 +1 ,虽然我也不知道是怎么解决的,但知道为啥会这样
    yeqizhang
        112
    yeqizhang  
       5 小时 36 分钟前 via Android
    @abolast 应该说是 web 工程师需要掌握的,mozilla 主要针对 web 这边用到的 http 相关内容都有文档,我找了下,http 协议的 RFC 文档应该不写这个的
    aarontian
        113
    aarontian  
       5 小时 14 分钟前
    三年经验的时候,我弄懂过跨域,因为当时真写了点(简单的)网页,也接触过网关项目。

    八年经验的时候,我已经忘得差不多了,至少你冷不丁问我这个问题,我不太可能答完整。比如现在我还是稍微回忆了会才记起来这是浏览器的安全限制/浏览器针对跨域请求会先发个 options/后端可以通过修改 header 绕过限制,再往细就很难答了(面试第一时间可能连这三点都答不全)。

    我是后端,我也不认为我对技术没热情,后端遇到这个问题本就极少极少,尤其大厂后端大都是在 API Gateway 后面撸微服务交互代码的,连 cors middleware 都遇不到。

    我的看法是细节方面遗忘一些一点不影响系统建模,架构设计能力,也不影响解决问题的能力。接触或者说掌握过的技术越多反而很难对一些基础知识记得清楚,但你问题抛给我我一定能解决。。。有些拿前端标准要求后端的人多少有点吹毛求疵了
    Hyperion
        114
    Hyperion  
       29 分钟前 via Android
    …我刚毕业时候,不管是前端还是后端,就算是最简单的八股也包含 HTTP 协议相关的东西,跨域头、KeepAlive 更是必备。那是不是现在问 TCP 三次握手都已经是难为人了?

    别说什么搜搜就好,很多人 Cookies 基础都已经不懂了,Chrome 调整默认 SameSite 属性那时候还挺多人解决不好,搜都不知道怎么搜。

    怎么到 2025 年,八股的难度都要开始降低了?
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1269 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 23:38 · PVG 07:38 · LAX 16:38 · JFK 19:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.