URL里面携带了#是什么意思

1 问题

有一个链接里面包含了#,格式是这样的

https://域名/#***

然后进行访问的时候,用Fiddler抓包链接分析,发现链接只有下面的了

https://域名/

觉得很奇怪,为什么#后面的参数啥的都没有了呢?还以为这里有问题,想不通。
 

 
2 链接里面有#是什么意思

#代表网页中的一个位置,就是该位置的标识符

一、网页位置指定标识符,有两个方法

1)是使用锚点,比如<a name="chenyu1"></a>

2 ) 使用id属性,比如<div id="chenyu" ></div>

二、http请求不包含#

#是用来指导浏览器动作的,对服务器端完全无用。所以HTTP请求中不包括#,比如我们链接里面携带#,#后面的链接内容是不会携带给服务器的。

 

 
3 本地测试链接里面携带#

我们先本地写个test.html文件,内容如下

    <html>
        <head>
        <style>
            .div-height{border:1px solid #F00; width:1000px; height:300px}
        </style>
        </head>
        <body>
            <div id="div1" class="div-height" >chenyu1</div>
            <div id="div2" class="div-height" >chenyu2</div>
            <div id="div3" class="div-height" >chenyu3</div>
            <div id="div4" class="div-height" >chenyu4</div>
            <div id="div5" class="div-height" >chenyu5</div>
        </body>
    </html>

我们用浏览器访问下看下效果,浏览器输出的地址是:file:///D:/tv/test.html

接下来我们测试携带#的链接,比如file:///D:/tv/test.html#div3

很明显,跳到了div3, 没毛病。
 

 






作者:chen.yu
深信服三年半工作经验,目前就职游戏厂商,希望能和大家交流和学习,
微信公众号:编程入门到秃头 或扫描下面二维码
零基础入门进阶人工智能(链接)