©CC BY-NC-SA 4.0
🚩加入 Nostr!moe 社区: join.nostr.moe
🚩加入 Nostr!moe 社区: join.nostr.moe
关于 URL 的大小写问题
1. W3C 写道: "一般来说, URL 是区分大小写的(机器名除外). 有些 URL 或 URL 的某些部分可能不区分大小写, 但要识别这些 URL 或 URL 的大小写可能并不容易. 用户应始终注意 URL 是区分大小写的." [1]
2. Google 对于搜索引擎索引: 即使不同大小写的 URL 指向完全相同的资源, 它们也始终被搜索引擎认为是完全不同 URL. 即使索引会尝试抓取所有的链接, 但对于指向相同资源的 URL 最终也要需要网站管理员选择保留其中一个, 这个过程被称为 "标准化". 而在 robots.txt 中对路径大小写也是敏感的. [2]
3. RFC 1738 "统一资源定位器(URL)" 写道: "URL 包含正在使用的协议名(scheme), 后跟冒号, 然后是一个字符串(协议具体实现), 其解释取决于协议. 协议名由字符: 小写字母 "a" ~ "z", 数字和字符加号("+"), 句号(".")和连字符("-"). 为提高弹性, 程序解释 URL 时应将协议名中的大写字母等同于使用小写字母(例如: 允许使用 "HTTP" 和 "http")." [3]
4. RFC 4343 "域名系统(DNS)域名系统不区分大小写的说明". [4]
5. RFC 2616 "超文本传输协议(HTTP)" 写道: (URI 比较) 在比较两个 URI 以确定是否匹配时, 客户端应使用区分大小写的 8 比特组逐个比较整个 URI, 但以下情况例外: [5]
● 空端口或未给出的端口等同于该 URI 引用的默认端口;
● 主机名的比较必须区分大小写;
● 协议名称的比较必须区分大小写;
● 空的 abs_path 相当于 "/" 的 abs_path.
———
● ref: Should URL be case sensitive? - Stack Overflow
● Windows 和 macOS 使用不区分大小写的文件系统, Unix/类Unix使用的文件系统区分大小写. (Git is case-sensitive and your filesystem may not be - Weird folder merging on Windows - Scott Hanselman's Blog)
● Netlify 部署站点路径不区分大小写. (My URL paths are forced into lowercase - Support - Netlify Support Forums)
● Cloudflare Page 部署站点路径区分大小写.
● Vercel 部署站点路径区分大小写.
● Amazon S3 进行静态托管时, 引用储存桶名称定位时区分大小写. (Access Denied error when using an S3 static website endpoint | AWS re:Post)
#note
via CXPLAY's Memos
1. W3C 写道: "一般来说, URL 是区分大小写的(机器名除外). 有些 URL 或 URL 的某些部分可能不区分大小写, 但要识别这些 URL 或 URL 的大小写可能并不容易. 用户应始终注意 URL 是区分大小写的." [1]
2. Google 对于搜索引擎索引: 即使不同大小写的 URL 指向完全相同的资源, 它们也始终被搜索引擎认为是完全不同 URL. 即使索引会尝试抓取所有的链接, 但对于指向相同资源的 URL 最终也要需要网站管理员选择保留其中一个, 这个过程被称为 "标准化". 而在 robots.txt 中对路径大小写也是敏感的. [2]
3. RFC 1738 "统一资源定位器(URL)" 写道: "URL 包含正在使用的协议名(scheme), 后跟冒号, 然后是一个字符串(协议具体实现), 其解释取决于协议. 协议名由字符: 小写字母 "a" ~ "z", 数字和字符加号("+"), 句号(".")和连字符("-"). 为提高弹性, 程序解释 URL 时应将协议名中的大写字母等同于使用小写字母(例如: 允许使用 "HTTP" 和 "http")." [3]
4. RFC 4343 "域名系统(DNS)域名系统不区分大小写的说明". [4]
5. RFC 2616 "超文本传输协议(HTTP)" 写道: (URI 比较) 在比较两个 URI 以确定是否匹配时, 客户端应使用区分大小写的 8 比特组逐个比较整个 URI, 但以下情况例外: [5]
● 空端口或未给出的端口等同于该 URI 引用的默认端口;
● 主机名的比较必须区分大小写;
● 协议名称的比较必须区分大小写;
● 空的 abs_path 相当于 "/" 的 abs_path.
———
● ref: Should URL be case sensitive? - Stack Overflow
● Windows 和 macOS 使用不区分大小写的文件系统, Unix/类Unix使用的文件系统区分大小写. (Git is case-sensitive and your filesystem may not be - Weird folder merging on Windows - Scott Hanselman's Blog)
● Netlify 部署站点路径不区分大小写. (My URL paths are forced into lowercase - Support - Netlify Support Forums)
● Cloudflare Page 部署站点路径区分大小写.
● Vercel 部署站点路径区分大小写.
● Amazon S3 进行静态托管时, 引用储存桶名称定位时区分大小写. (Access Denied error when using an S3 static website endpoint | AWS re:Post)
#note
via CXPLAY's Memos
#issue_genshinnav
收到了一个新的条目提交, 但检查之后决定暂时不会加入导航:
- 世界树: https://hoyo.life/
由于提交者没有留下联系方式, 并且由于属于公开项目, 在此留下不加入导航的原因:
> 站点属于内容/维基型, 项目和项目站点域名建立时间过于早期, 没有经历持久维护. 但我站(genshin.cx.ms)会持续关注这个项目的发展, 直到这个站点的域名首年到期节点(2024-07-29)来临, 如果此时这个项目依旧保持稳定持续的发展, 那么导航页会将其收录.
收到了一个新的条目提交, 但检查之后决定暂时不会加入导航:
- 世界树: https://hoyo.life/
由于提交者没有留下联系方式, 并且由于属于公开项目, 在此留下不加入导航的原因:
> 站点属于内容/维基型, 项目和项目站点域名建立时间过于早期, 没有经历持久维护. 但我站(genshin.cx.ms)会持续关注这个项目的发展, 直到这个站点的域名首年到期节点(2024-07-29)来临, 如果此时这个项目依旧保持稳定持续的发展, 那么导航页会将其收录.
调整了结构, 添加了第三种实现, 默认为 index.html, 现在有:
- python: https://static-index-demo.pages.dev/index.html
- Snap2HTML: https://static-index-demo.pages.dev/index2.html
- tree: https://static-index-demo.pages.dev/index3.html
- python: https://static-index-demo.pages.dev/index.html
- Snap2HTML: https://static-index-demo.pages.dev/index2.html
- tree: https://static-index-demo.pages.dev/index3.html
Snap2HTML 只支持 Windows, 替代品 LinuxDir2HTML 对特殊字符支持不齐全并且不支持自定义基础路径, 自动化构建还存在问题.
tree 能很好地生成基本的 HTML, 但是有些构建系统没有安装 tree, 可能直接构建不了(Cloudflare Page 使用 v1 构建环境可以使用 tree, v2 不再提供预设框架之外的软件和语言环境). #吐槽
tree 能很好地生成基本的 HTML, 但是有些构建系统没有安装 tree, 可能直接构建不了(Cloudflare Page 使用 v1 构建环境可以使用 tree, v2 不再提供预设框架之外的软件和语言环境). #吐槽
用 Snap2HTML 和 tree 生成的两种静态文件索引(一份 Python-3.11.4 源代码):
Snap2HTML: https://static-index-demo.pages.dev/index.html
tree: https://static-index-demo.pages.dev/index2.html
Snap2HTML: https://static-index-demo.pages.dev/index.html
tree: https://static-index-demo.pages.dev/index2.html
Windows 上的 Snap2HTML: https://www.rlvision.com/snap2html/about.php
Linux 上的 Snap2HTML 替代品 LinuxDir2HTML: https://github.com/homeisfar/LinuxDir2HTML
Linux 上的 Snap2HTML 替代品 LinuxDir2HTML: https://github.com/homeisfar/LinuxDir2HTML
Google 去年在 Chromium 99+ 开始强制启用了证书透明度(Certificate Transparency, CT)检查, 使得对用户证书不信任的 Android 现在更加难以在 Chrome 和基于 Chromium 的浏览器上进行中间人网络分析. 分析工具也要重新改变流量路由的方式.
● Android Chrome 99 expands Certificate Transparency, breaking all MitM dev tools | HTTP Toolkit
● ref: Android Chrome 99 expands Certificate Transparency, breaking all MitM dev tools | Hacker News
#Chromium #Android
via CXPLAY's Memos
● Android Chrome 99 expands Certificate Transparency, breaking all MitM dev tools | HTTP Toolkit
● ref: Android Chrome 99 expands Certificate Transparency, breaking all MitM dev tools | Hacker News
#Chromium #Android
via CXPLAY's Memos
Minecraft Forge 项目团队分裂
Minecraft 模组加载器 Forge 项目由于严重的团队内部分歧现在已经分裂出新的 fork 分支: NeoForged (原 "Forgecord").
据 NeoForged 项目介绍, 在 Curle 和 cpw 带领下, 原 Forge 团队几乎全部的成员都加入了新分支项目, 只有 Forge Development LLC 所有人 LexManos 被排除在外. 由于模组社区和项目内部成员对 LexManos 的长期不满, 也同时因为 Forge 的品牌资产被 LexManos 名下的公司实际控制, 最终产生了新的分支项目.
NeoForged 分支成立前最后一个 Forge 版本是
● NeoForged: https://neoforged.net/
● ref: What is happening? - The NeoForged project
● ref: 爷青结!MC大瓜!理念不合?暴力殴打,死亡威胁!Forge团队分崩离析! (哔哩哔哩@籽岷)
#news #opensource #Minecraft
via CXPLAY's Memos
Minecraft 模组加载器 Forge 项目由于严重的团队内部分歧现在已经分裂出新的 fork 分支: NeoForged (原 "Forgecord").
据 NeoForged 项目介绍, 在 Curle 和 cpw 带领下, 原 Forge 团队几乎全部的成员都加入了新分支项目, 只有 Forge Development LLC 所有人 LexManos 被排除在外. 由于模组社区和项目内部成员对 LexManos 的长期不满, 也同时因为 Forge 的品牌资产被 LexManos 名下的公司实际控制, 最终产生了新的分支项目.
NeoForged 分支成立前最后一个 Forge 版本是
1.20.1 - 47.1.43, LTS 版本是 1.20.1 - 47.1.0.● NeoForged: https://neoforged.net/
● ref: What is happening? - The NeoForged project
● ref: 爷青结!MC大瓜!理念不合?暴力殴打,死亡威胁!Forge团队分崩离析! (哔哩哔哩@籽岷)
#news #opensource #Minecraft
via CXPLAY's Memos