URL后面#号的问题

简介: 前几天测试在对于我写的接口进行测试的时候遇到了这样一个问题

【背景】


   前几天测试在对于我写的接口进行测试的时候遇到了这样一个问题,详情如下:

   接口描述:根据id获取详情     get方式

   测试检验:在id值的后面输入#这个特殊符号

   测试结果:正确返回需要的数据

   测试分析:根据后台输出的日志,接口接收到的参数中的id最后并没有携带#这个特殊符号

   结果:经过百度,看到了这一篇博文,具体如详情分析所述


【详情分析】


 一、#的涵义

   #代表网页中的一个位置。其右面的字符,就是该位置的标识符。比如,

   http://www.example.com/index.html#print

   就代表网页index.html的print位置。浏览器读取这个URL后,会自动将print位置滚动至可视区域。

   为网页位置指定标识符,有两个方法。一是使用锚点,比如<a name="print"></a>,二是使用id属性,比如<div id="print" >。

 二、HTTP请求不包括#

   #是用来指导浏览器动作的,对服务器端完全无用。所以,HTTP请求中不包括#。

   比如,访问下面的网址,

   http://www.example.com/index.html#print

   浏览器实际发出的请求是这样的:

   GET /index.html HTTP/1.1

   Host: www.example.com

   可以看到,只是请求index.html,根本没有"#print"的部分。

 三、#后的字符

   在第一个#后面出现的任何字符,都会被浏览器解读为位置标识符。这意味着,这些字符都不会被发送到服务器端。

   比如,下面URL的原意是指定一个颜色值:

   http://www.example.com/?color=#fff

   但是,浏览器实际发出的请求是:

   GET /?color= HTTP/1.1

   Host: www.example.com

   可以看到,"#fff"被省略了。只有将#转码为%23,浏览器才会将其作为实义字符处理。也就是说,上面的网址应该被写成:

   http://example.com/?color=%23fff

【总结】

   在每一次遇到问题的时候都深入去分析其原理是什么?为什么会导致这样的情况发生?最终的解决方案是什么?

   记录一下自己经历的过程以及最后的结果,让自己能够融入更多的思考元素从而再遇到类似的问题的时候会有更多的思路与想法。

注:分析中的内容摘自:https://blog.csdn.net/wwbmyos/article/details/23924509

相关文章
|
11月前
|
机器学习/深度学习 人工智能 运维
利用AIOps实现智能运维:提升IT运维的新策略
在数字化迅速发展的今天,传统IT运维已难以应对日益复杂的系统。AIOps通过融合AI、机器学习和大数据技术,革新了IT运维方式。其核心优势包括预测性维护、自动化处理、智能分析和资源优化。AIOps平台能自动检测、诊断并解决IT问题,显著提升运维效率。尽管面临数据质量、模型准确性和技术复杂性等挑战,但AIOps正逐步成为智能运维的重要趋势。
|
9月前
|
开发工具 git 开发者
git rebase的使用
通过这些思维导图和分析说明表,您可以更直观地理解Git rebase的概念、用法和应用场景。希望本文能帮助您更高效地使用Git rebase,提高代码管理的效率和质量。
861 17
|
运维 监控 安全
云上智能运维:重塑IT运维的未来图景
深度学习等技术实现更加精准的故障预测和性能优化。同时,随着云计算技术的不断成熟和普及,云上智能运维将实现更加灵活、高效的资源管理和服务交付。此外,随着安全技术的不断发展和完善,云上智能运维将更加注重数据安全和隐私保护,为企业提供更加安全可靠的运维服务。
若依修改---白名单怎样添加,怎样在初始化页面初始为自己的页面
若依修改---白名单怎样添加,怎样在初始化页面初始为自己的页面
若依修改---白名单怎样添加,怎样在初始化页面初始为自己的页面
|
iOS开发 MacOS
macOS10.13.6及以下版本不能自动升级到更高版本的解决方案
macOS10.13.6及以下版本不能自动升级到更高版本的解决方案
2195 1
|
内存技术
基于MATLAB的PCM的编码译码仿真
基于MATLAB的PCM的编码译码仿真
700 1
|
JavaScript 前端开发
报错:Cannot read properties of undefined (reading ‘$message‘)解决方法
以上就是解决"Cannot read properties of undefined (reading ‘$message‘)"错误的几种方法,希望对你有所帮助。
6352 0
|
前端开发 JavaScript 中间件
【第38期】一文学会React Mbox状态管理
【第38期】一文学会React Mbox状态管理
673 0
|
Go
IsNil() 和 IsValid() 的精妙运用
IsNil() 和 IsValid() 的精妙运用
555 0
|
存储 缓存 小程序
自己动手之小程序自定义登录态维护
谈起小程序开发,想必大家都不会陌生了。众所周知,小程序开发的官方文档是要求开发者需要自行维护登录态的。那么小程序服务端开发的登录态维护大家是如何做的呢?本文适用微信和QQ小程序的自定义登录态维护。
438 0
自己动手之小程序自定义登录态维护