websrv2設計方案

2021-03-31 08:57:00 字數 790 閱讀 7982

在websrv基礎上進行功能擴充套件。

一. 客戶端:

1. 標準請求url為:「http://192.168.1.7:8080/w7h2?disturb=63」,其中,主機位址為192.168.1.7,埠為8080,請求png為w7h2,請求干擾級別為63(六種干擾方案都有)。請求干擾級別為可選,伺服器端提供預設干擾級別。

2. 若請求url有錯,則將得到伺服器返回的出錯頁面。

二. 伺服器端:

啟動命令:「./websrv [-p port] [-d 63] [-a accesslog name] [-e erroelog name]」。

1. -p 指定listen埠號,預設為80;

2. -d 指定預設干擾級別,不指定為29;

3. -a 指定accesslog檔名,預設為「access.log」;

4. -e 指定errorlog檔名,預設為「error.log」;

5. parse_request()將url中客戶請求分解為請求字串和請求干擾級別兩部分,如無請求干擾級別,則按伺服器啟動時指定的預設干擾級別處理。如發現客戶請求有錯,則調error_log()記錄錯誤,並將rflag標誌置1。

6. 判讀rflag標誌,若為1,則不呼叫getpng()和sendfile(),而是直接呼叫senderror()。

7. getpng()將生成png請求,並按干擾級別生成干擾影象。

8. sendfile()返回傳送位元組數。

9. access_log()記錄本次連線資訊。

10. error_log()記錄錯誤的連線資訊。

TinyURL設計方案

現在貌似tinyurl很火爆,也逐漸成為一種流行趨勢。對應於php版本的tinyurl也有一些演算法,其實本質上來說是一種hash。除此之外,還有另外一種tinyurl方案 類似於http img.ly 其實這種設計 是最簡單的,沒有使用hash,而是遞增,這種的好 處就是資料庫 可以無限擴充套件,...

許可權設計方案

簡要介紹一下該許可權管理系統的特點,該系統功能上做到了靈活授權,操控細緻,許可權可以細到按鈕及超鏈級別,而且部署簡單,下面談談我自己的設計經驗。該系統主要功能如下 1 自定義操作動作 如增加 刪除 修改 審核等,不再是以前見過的那種粗粒度的 按模組分配許可權,或者稍微先進點的規定死某幾個操作了 2 ...

快取設計方案

redis提供的快取的api,但是在開發階段,如果每個人都自己呼叫原生api實現快取時,由於每個人的水平問題,會導致實現方案千差萬別,同事又很難統一管理維護 通過提供spring的annotation,實現快取方案的統一 target retention retentionpolicy.runtim...