gpt4 book ai didi

URL 片段 (#) 允许的字符

转载 作者:行者123 更新时间:2023-12-04 13:07:00 32 4
gpt4 key购买 nike

在互联网上进行了一些挖掘之后,我无法找到一个很好的答案来说明我可以将哪些字符用于 URL 片段。我正在编写一个 javascript 脚本,它将利用 URL 片段。

我想让 URL 看起来不那么复杂,从而对眼睛友好。所以我想知道我是否可以使用像 ':, ?, & 或 !' 这样的字符在 URL 片段中,并且仍然有效。

我的 URL 片段应包含以下值:

  • 订购方式
  • id
  • 描述 升序
  • 路径
  • /the/full/escaped/path/here/
  • 最佳答案

    tl;博士

    片段标识符组件可以包含:

  • 0 - 9
  • a - z
  • A - Z
  • ? / : @ - . _ ~ ! $ & ' ( ) * + , ; =
  • 百分比编码字符(% 后跟两个十六进制数字)

  • 我怎样才能找到这个?

    URI 标准是 STD 66 ,当前映射到 RFC 3986 .

    在本文档中,您将找到您需要了解的一切。

    fragment identifier component is defined in section 3.5 :

    fragment = *( pchar / "/" / "?" )



    这意味着片段可以不包含任何内容或(任何组合)
  • pchar 中定义的字符
  • the /
  • ?
  • pchar的定义

    引用 appendix A.查看 pchar 是如何定义的:

    pchar = unreserved / pct-encoded / sub-delims / ":" / "@"



    所以这增加了
  • 未保留中定义的字符
  • pct 编码中定义的字符
  • 子 delims 中定义的字符
  • :
  • the @
  • unreserved的定义

    现在检查 unreserved 是如何定义的:

    unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"



    这增加了
  • ALPHA 中定义的字符
  • DIGIT 中定义的字符
  • -
  • .
  • _
  • ~
  • ALPHA的定义和 DIGIT
    检查 ALPHA 和 DIGIT 是如何定义的。它们没有在附录中列出,因为它们来自 core ABNF rules , 原样 explained in section 1.3 :

    ALPHA (letters), […] DIGIT (decimal digits) […]



    所以这增加了
  • a - z , A - Z
  • 0 - 9
  • pct-encoded的定义

    检查 pct-encoded 是如何定义的:

    pct-encoded = "%" HEXDIG HEXDIG



    这允许任何 percent-encoded character .
    sub-delims的定义

    检查 sub-delims 是如何定义的:

    sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="



    这增加了
  • !
  • $
  • &
  • '
  • (
  • )
  • *
  • +
  • ,
  • ;
  • =
  • 关于URL 片段 (#) 允许的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26088849/

    32 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com