HTML5简介-HTML5极速入门

HTML就是这个东西……说实话,刚开始学的时候我也不懂。
但现在当我们谈论HTML时,我们需要知道它是一种标记语言,而不是那种可以运行程序的Python或JavaScript。
它告诉您网页的结构,例如标题是什么、段落是什么以及图像的放置位置。

HTML 标记包含在尖括号中,例如粗体文本
请注意,大多数标签都是一对一的,例如

段落内容


浏览器无法直接理解这一点,因此必须首先将其转换为可见的形式。

说到浏览器,比如Chrome和Firefox,它们的功能就是读取HTML文件,并将这些标签转换成我们可以查看的网页。
浏览器并不关心你写什么标签,它取决于你的标签的含义。
例如,

是标题,

是段落。
现在的浏览器已经相当智能了,可以识别HTML5 中的所有内容。

这个版本的 HTML5 更新了很多东西。
最明显的是语义标签,例如

,它们使网页的结构更加清晰。
例如,当你写一篇文章时,你可以这样写: <文章>

文章标题

文章内容...


还有多媒体。
以前,你必须使用Flash插件来播放音频和视频。
HTML5 现在直接支持 <audio> 和
图形也很强大。
你可以使用来绘制动态图,它可以用来玩游戏和创建数据图。
它还支持SVG矢量图形,可以放大或缩小而不模糊。

本地存储也很方便。
以前每次都要向服务器索取数据。
现在我可以使用 localStorage 和 sessionStorage 在本地存储一些东西,而不必每次都上网。
离线访问也是可以的,只需使用ApplicationCache或ServiceWorkers即可。

想要学习HTML5 ,首先要了解文档的基本结构: <!文档类型> <> <头> <标题>页面标题</标题> </头> <正文>

欢迎学习 HTML5

这是一个段落。

</正文> </>
这些是常用的标签:标题

、段落

、链接链接文本、图像description

使用您喜欢的任何开发工具:只需为 VSCode 和 SublimeText 等编辑器安装 HTML 插件即可。
使用Chrome作为浏览器,按F1 2 打开开发者工具来编辑代码。
如果您想快速测试代码,也可以使用 CodePen 和 JSFiddle 等在线平台。

如果你想学习资源,MDN的HTML5 教程是最可靠的。
当你搜索“HTML5 入门”时,Bilibili和知乎上也有很多视频课程。
最好自己创建一些东西,例如创建个人博客或作品集页面。

pycharm怎么运行网页

运行PyCharm网页的步骤: 1 .打开PyCharm,新建一个HTML5 项目,命名并保存。
2 . 创建索引。
文件在项目根目录下。
3 . 编写HTML代码,确保符合语法规范。
4 、运行网页:菜单栏“运行”或快捷键Ctrl+Shift+F1 0 5 . 在自动打开的浏览器中查看网页。

常见问题解答:
浏览器未打开:检查 PyCharm 设置以确保配置了有效的浏览器。

代码错误:检查 HTML 代码是否有结束标记错误或拼写错误。

端口冲突:确保端口未被占用。

动态网页开发:
Flask/Django项目:选择对应的模板,编写路由和视图函数,运行app.py或manage.py。

调试模式:使用Shift+F9 打开调试模式。

扩展功能:启用HTML语法检查,安装LiveEdit等插件。

按照这些步骤,PyCharm运行网页没有问题。

HTML5的Nonce属性怎么用?如何增强CSP安全性?

好的,这么长的技术文档能发给我吗? 让我想想……这件事听起来很复杂。

就说最近在上海修改一个小程序,被老板催促增加安全防护,所以就想到了CSP。
当时有同事教了我nonce,说挺好用的。
但说实话,你给我的东西太多了,让我眼花缭乱。

你看,核心就这么一句话:使用随机码(nonce)作为通行证。
浏览器只能识别带有此代码的脚本来运行,其他乱七八糟的脚本就无法进来。
这听起来很酷。
可以防止XSS吗? 但在实际使用中,却存在很多陷阱。

我陷入的陷阱是,我一开始使用 crypto.randomBytes 在 Node.js 中生成代码,认为每次请求它都会改变,这很好。
结果呢? 模板引擎直接将变量插入其中。
当我运行代码时,我发现某些地方的内联JS/CSS根本没有添加nonce。
想一想,万一漏掉了怎么办? 那一切的保护岂不是都白费了? 在添加所有内联代码之前,我花了两天时间逐个文件检查。

另外,你提到的规范,比如每个请求必须重新生成,不能放置全局变量,听起来很麻烦。
上次我在北京调试一个Flask项目,因为我重复使用了nonce,测试人员立即抓住我,说保护失败。
当时我就想骂人,可谁能记得这个呢? 后来改用了secrets.token_urlsafe,感觉好多了。
至少我不用担心被预测。

说真的,CSP就像给网站穿上了一层铠甲,但是你知道铠甲上有那么多的缝隙吗? 例如,如果使用 strict-dynamic,听起来很简单,但是如果动态加载的脚本本身有问题怎么办? 或者你记下了CDN地址,但是CDN端出了问题,你的网站怎么还能运行呢?
不管怎样,这东西听起来很花哨,但实际操作起来确实很麻烦。
如果真要做的话,就得保证服务器、前端、模板引擎都正常,不能出问题。
如果稍有疏忽,比如漏掉了nonce或者配置了错误的CSP header,网站可能会直接瘫痪。

我还在思考一个问题,就是我是否也应该去掉self,完全依赖外部白名单呢? 但这种情况下,如果白名单写错了,可能整个网站都打不开。
你认为这值得吗?