美文网首页
从博客迁移看跨域那点事儿

从博客迁移看跨域那点事儿

作者: cemcoe | 来源:发表于2020-04-21 19:24 被阅读0次

现在的自媒体平台很多,对于喜欢折腾的可能会在多个平台搞。

这里就会出现一个麻烦的点,就是图片的问题。

拿 jianshu 来说,目前(2020.4.21)是支持图片外链的,也就是说,将在 jianshu 写的 markdown 文件直接放到 GitHub 上,图片是可以正常显示的。

有一段时间经常在网上看到下面的信息,一般是某小编将在某平台编辑的 markdown 文件直接粘贴到了另一个平台,而图片存放在原来的服务器,此时图片就挂了。

此图片来自XXX平台未经允许不可引用

当你想要将博客迁移到另一个平台时,比如从 jianshu 迁移到 GitHub,如果 jianshu 不支持图片外链的话,那么迁移图片就是一个大工程。

为什么?

为什么会出现图片禁止引用呢?其实这只是一种情况,向上推,他的术语叫禁止外链,包括但不限于图片视频等。

这些问题一般会在跨域的时候出现,什么是跨域?简言之,你不是我家的人,你不能来吃我家大米。

统一资源定位符的标准格式如下:

哪些情况是跨域呢?端口不同就已经是跨域了,往右如果不同就不会涉及到跨域,往左不行。

在前端开发时往往要解决跨域问题,数据访问不到还写个吉尔。不能一刀切,都不能访问还有什么用。

// 前端:
http://127.0.0:8080/home
// 后端
http://127.0.0:80

两者的端口是不同的,此时已经跨域。

当前端进行 ajax 请求时,会触发跨域警告并且拿不到我们需要的数据。


cors

分析(甩锅)

理智分析一波,出现这个情况究竟是前端的问题还是后端的问题?


甩锅

嗯,

解决方法很多。
这里采用后端背锅的方案

// koa
// 处理跨域
router.all('*', async (ctx, next) => {
  ctx.set("Access-Control-Allow-Origin", "*")
  ctx.set("Access-Control-Allow-Headers", "X-Requested-With")
  ctx.set("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS")
  ctx.set("X-Powered-By",' 3.2.1')
  ctx.set("Content-Type", "application/json;charset=utf-8")
  next()
})

在线 mock 平台,也是后端解决了跨域问题。这样的话,所有的域都可以访问这个接口了,当然,工作中可能接口只对特定的域开放。

相关文章

  • 从博客迁移看跨域那点事儿

    现在的自媒体平台很多,对于喜欢折腾的可能会在多个平台搞。 这里就会出现一个麻烦的点,就是图片的问题。 拿 jian...

  • 跨域

    博客 说说跨域那些事儿 不要再问我跨域的问题了 前端常见跨域解决方案(全) 同源策略 JSONP(填充式JSON)...

  • 前端跨域整理

    前言 原文地址:前端跨域总结博主博客地址:Damonare的个人博客 正文 1. 什么是跨域? 跨域一词从字面意思...

  • 跨域问题详解分析

    参考文档 CORS详解 跨域资源共享 CORS 详解 js中几种实用的跨域方法原理详解 跨域的那些事儿 跨域与跨域...

  • 跨域问题

    1. 什么是跨域? 跨域一词从字面意思看,就是跨域名嘛,但实际上跨域的范围绝对不止那么狭隘。具体概念如下:只要协议...

  • 跨域

    1. 什么是跨域? 跨域一词从字面意思看,就是跨域名嘛,但实际上跨域的范围绝对不止那么狭隘。具体概念如下:只要协议...

  • 前端跨域总结

    1. 什么是跨域? 跨域一词从字面意思看,就是跨域名嘛,但实际上跨域的范围绝对不止那么狭隘。具体概念如下:只要协议...

  • 跨域问题

    1. 什么是跨域? 跨域一词从字面意思看,就是跨域名嘛,但实际上跨域的范围绝对不止那么狭隘。具体概念如下:只要协议...

  • 对于跨域问题的新认识

    无论是前端同学还是后端同学,可能都接触过跨域问题。网上已经有了很多介绍跨域问题和解决方案的博客文章,笔者之前也是看...

  • 再也不用为跨域而苦恼

    前言 最近没时间写博客,只好把以前写的博客整理到自己的博客网站上去 跨域 跨域解决的方案有好几种,熟练掌握 COR...

网友评论

      本文标题:从博客迁移看跨域那点事儿

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