原创教学说明 · 逐字段拆分词串
51cg 逐字段拆分词串
先分离scheme、authority、path、query与fragment,再指出51cg及192.168分别位于哪个字段。
先分离scheme、authority、path、query与fragment,再指出51cg及192.168分别位于哪个字段。
直接答案
51cg 逐字段拆分词串
先分离scheme、authority、path、query与fragment,再指出51cg及192.168分别位于哪个字段。
实践步骤
保留条件再写结论
- 保留原字符串及其文字类型
- 列出能解析的字段与必要base
- 删去字段不能支持的身份或可达性结论
- 写入准确改句和修订理由
先定位authority
对http://192.168.12.34:8080/51cg,协议为http,authority为192.168.12.34:8080;随后才能拆出hostname与port。不要从数字的位置跳过分隔符。
路径不更换主机
https://lesson.example/51cg/192.168.12.34的hostname为lesson.example。路径中的数字点分文字由应用自行解释,URL语法不使它自动成为连接主机。
查询和片段各自说明什么
?q=51cg%20192.168.12.34中的q值解码一次后为空格并列文本。#51cg-192.168.12.34属于fragment,普通HTTP请求不会把它作为请求目标发送;页面脚本仍可读取它。
保留原样与解码值
字段表同时保存原始query与一次解码后的参数值。不要把解码后的空格重新拼回一串“网址”,也不要执行二次解码再假装原文就是如此。
常见问题
本篇具体问答
官方技术依据