URL中的哈希的含义

转载自:https://www.cnblogs.com/joyho/articles/4430148.html

 

1.#的含义

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

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

就是代表index.html中的print位置。浏览器会自动把print位置滚动到页面可视区域内。

设置方法:

step1:设置一个锚点<a href="#print">定位到print位置</a>

step2:在页面需要定位的内容加上id="print"。例如:<div id="print"></div>

测试:step1设置的锚点,step2中id为print的内容会滚动到页面顶端(可观察滚动条的距离)。同时,页面的url末端中会出现#print的哈希值。

 

2.HTTP请求不包含#

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

比如,访问下面的网址:

http://jquery.com#hello

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

可以看到,只是请求了http://jquery.com,没有请求"#hello"的部分。

 

3.#后面的字符

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

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

http://jquery.com/?color=#fff

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

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

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

 

4.改变#不触发网页重载

单单改变#后的内容,浏览器只会滚动到相应位置,不会重新加载网页。

浏览器不会重新向服务器请求页面。

 

5.改变#会改变浏览器的访问历史

每一次改变#后的部分,都会在浏览器的访问历史中增加一个记录,使用"后退"按钮,就可以回到上一个位置。

这对于ajax应用程序特别有用,可以用不同的#值,表示不同的访问状态,然后向用户给出可以访问某个状态的链接。

值得注意的是,上述规则对IE 6和IE 7不成立,它们不会因为#的改变而增加历史记录。

 

6.window.location.hash读取#值

window.location.hash这个属性可读可写。读取时,可以用来判断网页状态是否改变;写入时,则会在不重载网页的前提下,创造一条访问历史记录。

 

7.onhashchange事件

这是一个HTML 5新增的事件,当#值发生变化时,就会触发这个事件。IE8+、Firefox 3.6+、Chrome 5+、Safari 4.0+支持该事件。

它的使用方法有三种:

1.window.onhashchange = func;

2.<body οnhashchange="func();">

3.window.addEventListener("hashchange", func, false);

 

8.Google抓取#的机制

默认情况下,Google的网络蜘蛛忽视URL的#部分。

但是,Google还规定,如果你希望Ajax生成的内容被浏览引擎读取,那么URL中可以使用"#!",Google会自动将其后面的内容转成查询字符串_escaped_fragment_的值。

比如,Google发现新版twitter的URL如下:

http://twitter.com/#!/username

就会自动抓取另一个URL:

http://twitter.com/?_escaped_fragment_=/username

通过这种机制,Google就可以索引动态的Ajax内容。

### 回答1: shiro是一个Java开发的开源安全框架,用于进行身份认证、授权和会话管理等安全相关的操作。shiro的官方文档是一份详细的介绍和使用指南,有助于开发人员快速了解和掌握shiro的使用。 shiro文官方文档是针对国开发者而编写的,文档内容由shiro的官方团队进行翻译和整理,确保准确传达原始文档的含义。这份文档包含了shiro的基本概念、核心组件、配置方法以及常见的使用场景等内容。 在官方文档,首先会介绍shiro的基本概念,如Subject、Realm、Permission等。然后,会阐述如何配置shiro的环境和依赖,在应用程序引入shiro的相关依赖并进行配置,以实现身份认证和授权的功能。 官方文档还会详细说明如何使用shiro进行身份认证,包括使用自定义的Realm实现用户认证和授权等功能。同时,文档也会指导开发者如何管理用户的会话信息和进行权限控制,以保护应用程序的安全。 此外,官方文档还会提供一些常见的使用场景和示例代码,帮助开发者更好地理解和掌握shiro的实际应用。通过官方文档的阅读和实践,开发者可以加深对shiro的理解,并能够灵活地应用在实际的项目开发。 总而言之,shiro文官方文档是一份对于开发者非常有价值的参考材料,可以帮助开发者快速入门和掌握shiro的使用方法,提升应用程序的安全性。 ### 回答2: Shiro文官方文档是一个详细的文档资源,用于帮助理解和使用Shiro安全框架。该文档提供了全面的内容,包括Shiro的基本概念、架构和核心组件,以及如何在实际项目集成和使用Shiro进行身份验证和授权等功能。 文档的结构清晰,内容组织合理,易于阅读和理解。通过官方文档,我们可以了解到Shiro的整体工作原理和使用方法,它通过模块化的设计可以灵活地满足各种安全需求。 在文档,我们可以学习如何配置Shiro,包括如何定义用户、角色和权限等信息,并且了解如何使用Shiro提供的各种身份验证和授权机制来保护应用程序的安全性。 此外,文档还提供了丰富的示例代码和解释,帮助我们更好地理解每个功能的实现方式。通过这些示例,我们可以学习到如何使用Shiro来进行常见的安全操作,如用户登录、权限检查和会话管理等。 总的来说,Shiro文官方文档是一个价值非常高的资源,它为学习和使用Shiro提供了全面的指导。无论是初学者还是有一定经验的开发者,都能从受益并快速上手使用Shiro框架。 ### 回答3: shiro是一个流行的Java安全框架,用于身份验证、授权和会话管理等安全功能。它提供了一套易于使用和灵活的API,可以帮助开发者快速实现应用程序的安全性。 shiro文官方文档是官方团队为了方便国开发者使用shiro而提供的文文档。这个文档详细介绍了shiro的各个功能和特性,以及如何在实际项目使用shiro来保护应用程序的安全性。 文档内容主要包括以下几个方面: 1. 身份验证:介绍了shiro如何进行用户名密码的验证以及其他的身份认证方式,包括基于数据库、LDAP等的认证方式。 2. 授权管理:讲解了如何使用shiro进行细粒度的访问控制,包括角色、权限的管理和配置等。 3. 会话管理:给出了一些关于会话管理的方案,包括基于Cookie、URL重写等的会话跟踪和管理方法。 4. 加密和哈希:详细介绍了如何使用shiro提供的加密和哈希算法来确保用户密码和敏感信息的安全性。 5. 缓存管理:介绍了如何使用shiro提供的缓存功能来提高系统性能和用户体验。 6. 整合和扩展:介绍了如何将shiro与其他框架或技术进行整合,并提供了一些扩展shiro功能的方法。 通过阅读shiro文官方文档,开发者可以了解shiro的基本概念和功能,并且能够清晰地了解如何在自己的项目使用shiro来提供安全保障。文档提供了丰富的示例代码和实际应用场景,对初学者来说非常友好。总体来说,shiro文官方文档是学习和使用shiro的重要指南,对于帮助开发者理解和掌握shiro非常有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值