原创 http筆記整理:數字簽名與證書

實現完整性的手段主要是摘要算法(Digest Algorithm), 也就是常說的散列函數、哈希函數(Hash Function)。 摘要算法理解成特殊的“單向”加密算法,它只有算法,沒有密鑰,加密後的數據無法解密,不能從摘要逆推出原文。

原创 重溫算法Day17:圖及圖的遍歷

如何在內存中存儲圖這種數據結構 鄰接矩陣(Adjacency Matrix) 鄰接矩陣的底層依賴一個二維數組。 對於無向圖來說,如果頂點 i 與頂點 j 之間有邊,我們就將 A[i][j]和 A[j][i]標記爲 1; 對於有向圖來說,如

原创 http筆記整理:緩存代理

HTTP 的服務器緩存功能主要由代理服務器來實現(即緩存代理),源服務器系統內部雖然也經常有各種緩存(如 Memcache、Redis、Varnish 等),但與 HTTP 沒有太多關係。 在沒有緩存的時候,代理服務器每次都是直接轉發客戶

原创 http筆記整理:緩存控制

1.服務器緩存 1.瀏覽器發現緩存無數據,於是發送請求,向服務器獲取資源; 2.服務器響應請求,返回資源,同時標記資源的有效期; 3.瀏覽器緩存資源,等待下次重用。   服務器標記資源有效期使用的頭字段是“Cache-Control”,

原创 重溫算法Day15:字符串匹配

BF 算法和 RK 算法BF算法(樸素匹配算法)(暴力匹配):在主串中,檢查起始位置分別是 0、1、2…n-m 且長度爲 m 的 n-m+1 個子串,看有沒有跟模式串匹配的。   RK算法:通過哈希算法對主串中的 n-m+1 個子串分別求

原创 http筆記整理:代理服務

鏈條的起點還是客戶端(也就是瀏覽器), 中間的角色被稱爲代理服務器(proxy server), 鏈條的終點被稱爲源服務器(origin server) “代理服務”就是指服務本身不生產內容,而是處於中間位置轉發上下游的請求和響應,具有雙

原创 重溫算法Day19:分治思想

分治算法是一種處理問題的思想,遞歸是一種編程技巧。實際上,分治算法一般都比較適合用遞歸來實現。分治算法的遞歸實現中,每一層遞歸都會涉及這樣三個操作: 分解:將原問題分解成一系列子問題; 解決:遞歸地求解各個子問題,若子問題足夠小,則直接求

原创 http筆記整理:對稱和非對稱加密

加密前的消息叫“明文”(plain text/clear text), 加密後的亂碼叫“密文”(cipher text), 使用密鑰還原明文的過程叫“解密”(decrypt),是加密的反操作, 加密解密的操作過程就是“加密算法”。 說密鑰

原创 linux系統學習1:系統調用

glibc 對系統調用的封裝 在用戶態進程裏面調用 open 函數 int open(const char *pathname, int flags, mode_t mode)  64 位系統調用過程: x86_64 下的 sysdep

原创 重溫算法Day16:Trie樹

Trie樹:搜索引擎的搜索關鍵詞提示功能 一種專門處理字符串匹配的數據結構,就是利用字符串之間的公共前綴,將重複的前綴合併在一起。 英語的單詞的話,就是26個字母,也就是樹有26個叉。 兩個操作: 一個是將字符串集合構造成 Trie 樹。

原创 linux學習0:內核初始化

內核初始化 內核的啓動從入口函數 start_kernel() 開始。在 init/main.c 文件中,start_kernel 相當於內核的 main 函數。 在操作系統裏面,先要有個創始進程,有一行指令 set_task_stack

原创 linux學習2:進程

用系統調用創建進程     #include <stdio.h>     #include <stdlib.h>     #include <sys/types.h>     #include <unistd.h>           

原创 http筆記整理:https

安全: 如果通信過程具備了四個特性,就可以認爲是“安全”的,這四個特性是:機密性、完整性,身份認證和不可否認。 SSL 即安全套接層(Secure Sockets Layer),目前應用的最廣泛的 TLS 是 1.2。 TLS 由記錄

原创 重溫算法Day13:二叉樹

在計算機科學中,數據的相對大小比絕對的數值重要,出於很多數據比大小的需求以及其他一些需求,就產生了一個抽象的數據結構——二叉樹 二叉樹可以做很多事情,比如排序、快速查找到某一個數值、根據網站目錄結構下載所有網頁、組織裏的管理結構。所有能夠

原创 重溫算法Day14:堆

堆”(Heap)堆是一個完全二叉樹; 堆中每一個節點的值都必須大於等於(或小於等於)其子樹中每個節點的值。堆存儲:數組中下標爲 i 的節點的左子節點,就是下標爲 i∗2 的節點,右子節點就是下標爲 i∗2+1 的節點,父節點就是下標爲 2