CDN
什麼是CDN
初學Web開發的時候,多多少少都會聽過這個名詞->CDN。php
CDN在我沒接觸以前,它給個人印象是用來優化網絡請求的,我第一次用到CDN的時候是在找JS文件時。當時找不到相對應的JS文件下載地址(以前通常我都是把JS下載下來,而後在項目中引用的。PS:固然了,我以爲大部分初學者都同樣)css
找着找着發現了這個網站:http://www.bootcdn.cn/,發現它這個搜索引擎收錄了不少的JS文件,直接在項目中引入它的地址就好了!html
後來,在購買服務器的時候也發現了廣告:CDN加速之類的...git
當時以爲還沒用到,就無論它了。github
今天,在整理筆記的時候又看到了CDN這個名詞了,因而決定去好好學習一番。web
那麼我講了一大堆,CDN究竟是什麼?瀏覽器
CDN的全稱是Content Delivery Network,即內容分發網絡。安全
爲何要使用CDN?
從我上面的經歷而言,CDN確定是可以加快咱們的訪問網站的速度的(由於有CDN服務器賣),那JS引入絕對的路徑和咱們本身下載下來,使用相對路徑引入有什麼區別呢???服務器
在咱們的應用中,咱們通常採用:應用服務器和資源服務器進行分離的方式微信
- 應用服務器主要是咱們的代碼(JS、CSS不放在應用服務器上)
- 資源服務器主要是一些靜態的資源,而CDN就是做爲咱們的資源服務器了。
CDN主要用於存儲JS、CSS文件,可以加快咱們獲取JS、CSS的內容
參考資料:
SEO
什麼是SEO
SEO(search engine optimization 搜索引擎優化) SEM(search engine marketing 搜索引擎營銷) SEM包括搜索引擎優化(SEO)、付費排名、精準廣告以及付費收錄,SEM包括SEO和競價,SEO也是SEM的一種方式。 SEM要錢的(簡單理解:百度的廣告就是SEM)、SEO不用錢的(本身配置提升搜索引擎的權重)
SEO是一種技術,主要是用於提升網站瀏覽量而作的優化手段
爲何須要SEO?
咱們搜一下Java微信公衆號:
發現排名是有前後的,博客園、CSDN都是靠前的。但是平臺那麼多,還有開源中國啊、簡書啊等等平臺爲啥就排不到前面呢?就是SEO沒有博客園、CSDN作得好
想要提升在搜索引擎的權重(本身的網站排得更前)就須要學習SEO。
提升權重的方法
那麼提升在搜索引擎的權重有什麼辦法的呢??能夠看下面的圖:
固然了,跟咱們編寫的代碼質量也是有很大的關係的:
A、title標題:強調重點 B、meta keywords關鍵詞:列舉幾個關鍵詞 C、meta description網頁描述:高度歸納網頁的內容 以上信息不要堆積、重複
語義話代碼(HTML 標籤有本身的意義,在適當的位置用適當的標籤):
- 一、h1~h6 多用於標題
- 二、ul 多用於無序列表
- 三、ol 多用於有序列表
- 四、dl 用於定義數據列表
- 五、em、strong 表示強調
- div、span 是 html 標籤中最沒有語義的
有利搜索引擎:
- 一、a:訪問外部連接時要加上 rel="nofollow",告訴搜索引擎外部連接無需追蹤,加上 title 說明
- 二、h1:搜索引擎外認爲 h1 最重要,使用 css 調整,網頁正文標題用 h1,副標題用 h2,其餘不要亂用 h 標籤
- 三、br 用於文本間的換行,用在 p 內,也能夠用
<p><br/></p>
表示空行 - 四、caption:表格標題
- 五、img:使用 title、alt 說明
- 六、
<strong><em
>表示強調,<em>
的權重僅次於<strong>
,若是隻想表示加粗斜體,建議使用<b><i>
,表示強調則使用<strong><i>
- 七、重要內容 HTML 代碼放在最前面(使用 css 改變佈局)
- 八、重要內容不要用 JS 輸出(搜索引擎看不懂 JS)
- 九、儘可能少使用 iframe 框架(搜索引擎不喜歡)
- 十、謹慎使用 display:none(搜索引擎會過濾掉其內容,設置 z-index 代替)
- 十一、精簡代碼
頁面結構:
- 結構佈局優化:用扁平化結構(層次結構超過三層小蜘蛛就不肯意爬了)
- 控制首頁連接數量(中小網站100之內,頁面導航、底部導航、錨文字連接等)
- 扁平化的目錄層次(小蜘蛛跳轉3次能夠到達網站內任何一個內頁,網站的設計主頁、欄目、內容頁,不要用縱線性的結構)
- 導航seo優化(頭部、底部、內容部分,主導航、副導航、分類導航,儘可能用文字,麪包屑導航,在每一個網站上留下面包屑,使用戶能夠了解網站組織形式,放於正文的左上方)
- 內容頁面的佈局細節
- 左面正文,右面熱門文章、相關文章,下面是版權信息及連接,欄目排布: 首頁123456789下拉選擇最贊)
- 網站的加載速度會影響小蜘蛛的爬行,頁面最好不要超過100k
參考資料:
XSS
什麼是XSS?
跨站腳本(cross site script)爲了不與樣式css混淆,因此簡稱爲XSS。
XSS是一種常常出如今web應用中的計算機安全漏洞,也是web中最主流的攻擊方式。那麼什麼是XSS呢?
- XSS是指惡意攻擊者利用網站沒有對用戶提交數據進行轉義處理或者過濾不足的缺點,進而添加一些代碼,嵌入到web頁面中去。使別的用戶訪問都會執行相應的嵌入代碼。
XSS跟SQL注入是相似的,它攻擊有兩種方式:
- 反射型
- 存儲型
XSS攻擊的危害是很大的,注入script
能夠執行任何的JS代碼(意味着能夠獲取cookie等信息了),注入style
能夠把頁面所有弄崩
防範XSS攻擊
最重要的是:不要相信客戶端發送過來的任何數據!
- 評論功能就最容易發生XSS攻擊了
防範XSS攻擊可簡單分紅三個步驟:
- 編碼(對特殊的字符進行編碼,
<
,'
,>
等特殊字符 - 過濾(過濾掉一切可能被調用的屬性,標籤。好比:onclick,onerror,iframe等等)
- encode.js:可使用https://github.com/mathiasbynens/he 中的he.js
- domParse:能夠用 https://github.com/blowsie/Pure-JavaScript-HTML5-Parser
參考資料:
CSRF
什麼是CSRF
CSRF的全名爲Cross-site request forgery,它的中文名爲 跨站請求僞造(僞造跨站請求【這樣讀順口一點】) CSRF是一種夾持用戶在已經登錄的web應用程序上執行非本意的操做的攻擊方式。相比於XSS,CSRF是利用了系統對頁面瀏覽器的信任,XSS則利用了系統對用戶的信任。 CSRF攻擊是源於Web的隱式身份驗證機制!Web的身份驗證機制雖然能夠保證一個請求是來自於某個用戶的瀏覽器,但卻沒法保證該請求是用戶批准發送的
來源:http://www.cnblogs.com/phpstudy2015-6/p/6771239.html
防護CSRF攻擊
抵禦CSRF攻擊的關鍵在於:在請求中放入攻擊者所不能僞造的信息,而且該信息不存在於Cookie之中。
那麼咱們在提交表單時添加一個token並驗證就好了,很簡單
參考資料:
若是文章有錯的地方歡迎指正,你們互相交流。習慣在微信看技術文章,想要獲取更多的Java資源的同窗,能夠關注微信公衆號:Java3y