ARTS-week03
Algorithms
本周leetcode Longest Substring Without Repeating Characters
思路: 从左往右开始,保持变量i和j来维持一个新的子串,j不断移动,每加入一个新的字符,判断是否有重复的,如果有重复的,移动i,生成新的子串
1 | class Solution { |
Review
本周阅读英文文章:The WannaCry virus was just the beginning
Zero-Day Exploits:”零日”指的是开发人员有“零日”来解决刚刚暴露的问题,可能已经被黑客利用。漏洞公开后,供应商必须快速解决问题以保护其用户。但是如果软件供应商未能及时发布补丁并且黑客设法利用安全漏洞,则可能发生所谓的零日攻击。
能够降低安全风险的操作:
1)保持软件与安全补丁最新
2)提高个人的安全意识
3)对操作系统和安全软件进行设置
物联网设备将加剧威胁,每个支持WIFI的设备都可能被黑客入侵,被劫持,并被用到执行大规模DDoS网络攻击中。由此想到在工控领域的安全防御也应该重视起来。越来越多的移动设备,随处可见的无线网络,带来的隐私等问题,构建安全的网络环境是重要的。
Technique
这周将代码升级至Python3,加入了Function Annotations,可以看一下官方文档中的例子再阅读一下PEP3107和PEP484:
1 | def f(ham: str, eggs: str = 'eggs') -> str: |
这样Python代码更容易进行静态分析和重构,进行类型检查。
Share
本周想分享的是《HTTP权威指南》一书,日常工作中经常要抓包分析,但之前并未系统的学习过HTTP相关的知识。目前阅读到第五章,学习到一些自己以前不知道的知识点,对网页的运作方式有了更深刻的认识。
关于Connection首部
HTTP 允许在客户端和最终的源端服务器之间存在一串HTTP中间实体(代理、高速缓存等)。可以从客户端开始,逐跳地将HTTP报文经过这些中间设备,转发到源端服务器上去(或者进行反向传输)。
在某些情况下,两个相邻的HTTP应用程序会为它们共享的连接应用一组选项。HTTP的 Connection首部字段中有一个由逗号分隔的连接标签列表,这些标签为此连接指定了一些不会传播到其他连接中去的选项。比如,可以用 Connection:close 来说明发送完下一条报文之后必须关闭的连接。
Connection首部可以承载3种不同类型的标签:
1)HTTP 首部字段名,列出了只与此连接有关的首部;
2)任意标签值,用于描述此连接的非标准选项;
3)值close,说明操作完成之后需关闭这条持久连接。
如果连接标签中包含了一个HTTP首部字段的名称,那么这个首部字段就包含了与一些连接有关的信息,不能将其转发出去。在将报文转发出去之前,必须删除 Connection 首部列出的所有首部字段。由于Connection首部可以防止无意中对本地首部的转发,因此将逐跳首部名放入Connection首部被称为“对首部的保护”。