新手html标签

新手html标签

<!--...-->	定义注释。
<!DOCTYPE> 	定义文档类型。
<a>	定义锚。
<abbr>	定义缩写。
<acronym>	定义只取首字母的缩写。HTML5 中不支持。请使用 <abbr> 代替。
<address>	定义文档作者或拥有者的联系信息。
<applet>	定义嵌入的 applet。HTML5 中不支持。请使用 <embed><object> 代替。
<area>	定义图像映射内部的区域。
<article>	定义文章。
<aside>	定义页面内容之外的内容。
<audio>	定义声音内容。
<b>	定义粗体字。
<base>	定义页面中所有链接的默认地址或默认目标。
<basefont>	定义页面中文本的默认字体、颜色或尺寸。HTML5 中不支持。请使用 CSS 代替。
<bdi>	定义文本的文本方向,使其脱离其周围文本的方向设置。
<bdo>	定义文字方向。
<big>	定义大号文本。HTML5 中不支持。请使用 CSS 代替。
<blockquote>	定义长的引用。
<body>	定义文档的主体。
<br>	定义简单的折行。
<button>	定义按钮 (push button)<canvas>	定义图形。
<caption>	定义表格标题。
<center>	定义居中文本。HTML5 中不支持。请使用 CSS 代替。
<cite>	定义引用(citation)<code>	定义计算机代码文本。
<col>	定义表格中一个或多个列的属性值。
<colgroup>	定义表格中供格式化的列组。
<command>	定义命令按钮。
<data>	添加给定内容的机器可读翻译。
<datalist>	定义下拉列表。
<dd>	定义定义列表中项目的描述。
<del>	定义被删除文本。
<details>	定义元素的细节。
<dir>	定义目录列表。HTML5 中不支持。请使用 CSS 代替。
<div>	定义文档中的节。
<dfn>	定义定义项目。
<dialog>	定义对话框或窗口。
<dl>	定义定义列表。
<dt>	定义定义列表中的项目。
<em>	定义强调文本。
<embed>	定义外部交互内容或插件。
<fieldset>	定义围绕表单中元素的边框。
<figcaption>	定义 figure 元素的标题。
<figure>	定义媒介内容的分组,以及它们的标题。
<font>	定义文字的字体、尺寸和颜色。HTML5 中不支持。请使用 CSS 代替。
<footer>	定义 section 或 page 的页脚。
<form>	定义供用户输入的 HTML 表单。
<frame>	定义框架集的窗口或框架。HTML5 中不支持。
<frameset>	定义框架集。HTML5 中不支持。
<h1> to <h6>	定义 HTML 标题。
<head>	定义关于文档的信息。
<header>	定义 section 或 page 的页眉。
<hr>	定义水平线。
<html>	定义 HTML 文档。
<i>	定义斜体字。
<iframe>	定义内联框架。
<img>	定义图像。
<input>	定义输入控件。
<ins>	定义被插入文本。
<isindex>	定义与文档相关的可搜索索引。不赞成使用。
<kbd>	定义键盘文本。
<keygen>	定义生成密钥。
<label>	定义 input 元素的标注。
<legend>	定义 fieldset 元素的标题。
<li>	定义列表的项目。
<link>	定义文档与外部资源的关系。
<main>	定义文档的主要内容。
<map>	定义图像映射。
<mark>	定义有记号的文本。
<menu>	定义命令的列表或菜单。
<menuitem>	定义用户可以从弹出菜单调用的命令/菜单项目。
<meta>	定义关于 HTML 文档的元信息。
<meter>	定义预定义范围内的度量。
<nav>	定义导航链接。
<noframes>	定义针对不支持框架的用户的替代内容。HTML5 中不支持。
<noscript>	定义针对不支持客户端脚本的用户的替代内容。
<object>	定义内嵌对象。
<ol>	定义有序列表。
<optgroup>	定义选择列表中相关选项的组合。
<option>	定义选择列表中的选项。
<output>	定义输出的一些类型。
<p>	定义段落。
<param>	定义对象的参数。
<pre>	定义预格式文本。
<progress>	定义任何类型的任务的进度。
<q>	定义短的引用。
<rp>	定义若浏览器不支持 ruby 元素显示的内容。
<rt>	定义 ruby 注释的解释。
<ruby>	定义 ruby 注释。
<s>	定义加删除线的文本。
<samp>	定义计算机代码样本。
<script>	定义客户端脚本。
<section>	定义 section。
<select>	定义选择列表(下拉列表)。
<small>	定义小号文本。
<source>	定义媒介源。
<span>	定义文档中的节。
<strike>	定义加删除线文本。HTML5 中不支持。请使用 <del><s> 代替。
<strong>	定义强调文本。


### JWT 单点登录与退出机制实现原理 #### JWT单点登录的实现原理 在分布式系统环境中,使用JSON Web Token (JWT) 来表示用户身份信息可以有效简化跨多个服务的身份验证流程[^1]。当用户首次通过用户名密码成功认证后,服务器会生成一个包含用户声明(claims)的JWT令牌并返回给客户端。这个令牌包含了用户的必要信息以及签名用于保证数据完整性。 每次请求受保护资源时,客户端都需要携带此JWT作为凭证传递给API网关或其他微服务组件。由于这些服务共享相同的密钥或公私钥对来解码校验接收到的token,因此无需再次向原始授权服务器发起查询就能确认访问者的合法性,从而实现了无缝切换不同应用而不需要重复登陆的功能——即所谓的“单点登录”。 ```java // Java代码片段展示如何创建JWT token String jwtToken = Jwts.builder() .setSubject(user.getUsername()) .claim("authorities", user.getAuthorities().stream() .map(GrantedAuthority::getAuthority).collect(Collectors.toList())) .signWith(SignatureAlgorithm.HS512, secretKey) .compact(); ``` #### JWT单点登出的挑战及其解决方案 对于传统的Session-based SSO方案来说,注销操作相对简单明了:只需销毁存储于中央认证中心(CAS)[^2] 的session对象即可使所有关联的应用同步失效。然而,在无状态的JWT体系下情况有所不同: - **无法立即全局废除**:一旦签发之后,除非达到预设的有效期(TTL),否则没有办法强制让某个特定实例作废; - **黑名单策略**:一种常见的做法是在应用程序内部维护一份已撤销tokens列表(blacklist),每当收到新的请求都会先检查它是否存在于该集合内再决定放行与否;不过这种方法增加了额外开销并不总是推荐采用; 更优的方式可能是调整架构设计思路,比如引入短生命周期加自动刷新机制(refresh tokens pattern): 正常业务交互过程中保持较短存活时间的工作access_token; 同时发放有效期较长但权限受限的refresh_token用来换取新版本前者而不必每次都重新经历完整的鉴权过程。如此一来即使发生意外泄露事件也能迅速控制影响范围最小化风险暴露窗口[^3]. ```java // 配置安全框架中的登出路由 @Override protected void configure(HttpSecurity http) throws Exception { http.logout() .logoutUrl("/api/logout") .addLogoutHandler((request, response, authentication) -> { String authTokenHeader = request.getHeader("Authorization"); if(authTokenHeader != null && authTokenHeader.startsWith("Bearer ")) { // 可选: 将当前token加入黑名单逻辑... } }) .deleteCookies("JSESSIONID") // 清楚cookie中可能存在的会话id .invalidateHttpSession(true); // 注销http session } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值