slack网站是如何不透过 server 就解析讯息中的 URL图片和文字呢?

如果我输入一个包含网址的讯息在 slack 的聊天网站上

https://segmentfault.com/a/1190000014660235#articleHeader0

clipboard.png

这个 URL 中,slack 以某种方式,解析出这网页 html text 内容中的3项资讯让 slack web app使用,

  1. favio icon URL : https://static.segmentfault.c...
  2. image URL : https://static.segmentfault.c...
  3. 文章的标题和前几句文字: 基于Htte.....

查看 Chrome 的网路讯息时,可以发现送出一个含有 URL 的讯息,总共会发出 5 个 http 请求。

clipboard.png

  1. 包含我的讯息内容,回应资料中 http body 和 headers 后有看到一些文字,但并不包含解析后的URL。
  2. 如3
  3. 和快取相关,回应资料中 http body 和 headers 后有看到一些文字,但并不包含解析后的URL。
  4. request URL 就包含了 解析后的 URL https://static.segmentfault.com/v-5b973eab/global/img/favicon.icohttps://static.segmentfault.com/v-5b973eab/global/img/touch-icon-512.png

请问 slack 的 这个 react web app 到底是怎麽取得解析后的 URL 和文字的呢?

附注,若是传送一个不包含 URL 的讯息,总共会有 2 个 http request

clipboard.png

阅读 2.5k
1 个回答

通过 WebSocket
你可能会问你为什么没看到这个捕获,因为你是在这个连接之后再打开的F12,重新刷新一下网页就有了
图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏