CDN
什么是CDN
初學(xué)Web開(kāi)發(fā)的時(shí)候,多多少少都會(huì)聽(tīng)過(guò)這個(gè)名詞->CDN。
CDN在我沒(méi)接觸之前,它給我的印象是用來(lái)優(yōu)化網(wǎng)絡(luò)請(qǐng)求的,我第一次用到CDN的時(shí)候是在找JS文件時(shí)。當(dāng)時(shí)找不到相對(duì)應(yīng)的JS文件下載地址(之前一般我都是把JS下載下來(lái),然后在項(xiàng)目中引用的。PS:當(dāng)然了,我覺(jué)得大部分初學(xué)者都一樣)
找著找著發(fā)現(xiàn)了這個(gè)網(wǎng)站:http://www.bootcdn.cn/,發(fā)現(xiàn)它這個(gè)搜索引擎收錄了很多的JS文件,直接在項(xiàng)目中引入它的地址就行了!
后來(lái),在購(gòu)買(mǎi)服務(wù)器的時(shí)候也發(fā)現(xiàn)了廣告:CDN加速之類(lèi)的…
當(dāng)時(shí)覺(jué)得還沒(méi)用到,就不管它了。
今天,在整理筆記的時(shí)候又看到了CDN這個(gè)名詞了,于是決定去好好學(xué)習(xí)一番。
那么我講了一大堆,CDN到底是什么?
CDN的全稱是Content Delivery Network,即內(nèi)容分發(fā)網(wǎng)絡(luò)。
為什么要使用CDN?
從我上面的經(jīng)歷而言,CDN肯定是能夠加快我們的訪問(wèn)網(wǎng)站的速度的(因?yàn)橛蠧DN服務(wù)器賣(mài)),那JS引入絕對(duì)的路徑和我們自己下載下來(lái),使用相對(duì)路徑引入有什么區(qū)別呢???
在我們的應(yīng)用中,我們一般采用:應(yīng)用服務(wù)器和資源服務(wù)器進(jìn)行分離的方式
應(yīng)用服務(wù)器主要是我們的代碼(JS、CSS不放在應(yīng)用服務(wù)器上)
資源服務(wù)器主要是一些靜態(tài)的資源,而CDN就是作為我們的資源服務(wù)器了。
CDN主要用于存儲(chǔ)JS、CSS文件,能夠加快我們獲取JS、CSS的內(nèi)容
參考資料:
知乎問(wèn)題:CDN是什么?使用CDN有什么優(yōu)勢(shì)?
內(nèi)容發(fā)布網(wǎng)絡(luò)(Content Delivery Network,CDN)
SEO
什么是SEO
SEO(search engine optimization 搜索引擎優(yōu)化) SEM(search engine marketing 搜索引擎營(yíng)銷(xiāo)) SEM包括搜索引擎優(yōu)化(SEO)、付費(fèi)排名、精準(zhǔn)廣告以及付費(fèi)收錄,SEM包括SEO和競(jìng)價(jià),SEO也是SEM的一種方式。 SEM要錢(qián)的(簡(jiǎn)單理解:百度的廣告就是SEM)、SEO不用錢(qián)的(自己配置提高搜索引擎的權(quán)重)
SEO是一種技術(shù),主要是用于提高網(wǎng)站瀏覽量而做的優(yōu)化手段
為什么需要SEO?
我們搜一下Java微信公眾號(hào):
發(fā)現(xiàn)排名是有先后的,博客園、CSDN都是靠前的。可是平臺(tái)那么多,還有開(kāi)源中國(guó)啊、簡(jiǎn)書(shū)啊等等平臺(tái)為啥就排不到前面呢?就是SEO沒(méi)有博客園、CSDN做得好
想要提高在搜索引擎的權(quán)重(自己的網(wǎng)站排得更前)就需要學(xué)習(xí)SEO。
提高權(quán)重的方法
那么提高在搜索引擎的權(quán)重有什么辦法的呢??可以看下面的圖:
當(dāng)然了,跟我們編寫(xiě)的代碼質(zhì)量也是有很大的關(guān)系的:
A、title標(biāo)題:強(qiáng)調(diào)重點(diǎn) B、meta keywords關(guān)鍵詞:列舉幾個(gè)關(guān)鍵詞 C、meta description網(wǎng)頁(yè)描述:高度概括網(wǎng)頁(yè)的內(nèi)容 以上信息不要堆積、重復(fù)
語(yǔ)義話代碼(HTML 標(biāo)簽有自己的意義,在適當(dāng)?shù)奈恢糜眠m當(dāng)?shù)臉?biāo)簽):
1、h1~h6 多用于標(biāo)題
2、ul 多用于無(wú)序列表
3、ol 多用于有序列表
4、dl 用于定義數(shù)據(jù)列表
5、em、strong 表示強(qiáng)調(diào)
div、span 是 html 標(biāo)簽中最沒(méi)有語(yǔ)義的
有利搜索引擎:
1、a:訪問(wèn)外部鏈接時(shí)要加上 rel="nofollow",告訴搜索引擎外部鏈接無(wú)需追蹤,加上 title 說(shuō)明
2、h1:搜索引擎外認(rèn)為 h1 最重要,使用 css 調(diào)整,網(wǎng)頁(yè)正文標(biāo)題用 h1,副標(biāo)題用 h2,其他不要亂用 h 標(biāo)簽
3、br 用于文本間的換行,用在 p 內(nèi),也可以用
<p><br/></p>
表示空行4、caption:表格標(biāo)題
5、img:使用 title、alt 說(shuō)明
6、
<strong><em
>表示強(qiáng)調(diào),<em>
的權(quán)重僅次于<strong>
,如果只想表示加粗斜體,建議使用<b><i>
,表示強(qiáng)調(diào)則使用<strong><i>
7、重要內(nèi)容 HTML 代碼放在最前面(使用 css 改變布局)
8、重要內(nèi)容不要用 JS 輸出(搜索引擎看不懂 JS)
9、盡量少使用 iframe 框架(搜索引擎不喜歡)
10、謹(jǐn)慎使用 display:none(搜索引擎會(huì)過(guò)濾掉其內(nèi)容,設(shè)置 z-index 代替)
11、精簡(jiǎn)代碼
頁(yè)面結(jié)構(gòu):
結(jié)構(gòu)布局優(yōu)化:用扁平化結(jié)構(gòu)(層次結(jié)構(gòu)超過(guò)三層小蜘蛛就不愿意爬了)
控制首頁(yè)鏈接數(shù)量(中小網(wǎng)站100以內(nèi),頁(yè)面導(dǎo)航、底部導(dǎo)航、錨文字鏈接等)
扁平化的目錄層次(小蜘蛛跳轉(zhuǎn)3次可以到達(dá)網(wǎng)站內(nèi)任何一個(gè)內(nèi)頁(yè),網(wǎng)站的設(shè)計(jì)主頁(yè)、欄目、內(nèi)容頁(yè),不要用縱線性的結(jié)構(gòu))
導(dǎo)航seo優(yōu)化(頭部、底部、內(nèi)容部分,主導(dǎo)航、副導(dǎo)航、分類(lèi)導(dǎo)航,盡量用文字,面包屑導(dǎo)航,在每個(gè)網(wǎng)站上留下面包屑,使用戶可以了解網(wǎng)站組織形式,放于正文的左上方)
內(nèi)容頁(yè)面的布局細(xì)節(jié)
左面正文,右面熱門(mén)文章、相關(guān)文章,下面是版權(quán)信息及鏈接,欄目排布: 首頁(yè)123456789下拉選擇最贊)
網(wǎng)站的加載速度會(huì)影響小蜘蛛的爬行,頁(yè)面最好不要超過(guò)100k
參考資料:
慕課網(wǎng):淺談搜索引擎_SEO
慕課網(wǎng):SEO在網(wǎng)頁(yè)制作中的應(yīng)用
XSS
什么是XSS?
跨站腳本(cross site script)為了避免與樣式css混淆,所以簡(jiǎn)稱為XSS。
XSS是一種經(jīng)常出現(xiàn)在web應(yīng)用中的計(jì)算機(jī)安全漏洞,也是web中最主流的攻擊方式。那么什么是XSS呢?
XSS是指惡意攻擊者利用網(wǎng)站沒(méi)有對(duì)用戶提交數(shù)據(jù)進(jìn)行轉(zhuǎn)義處理或者過(guò)濾不足的缺點(diǎn),進(jìn)而添加一些代碼,嵌入到web頁(yè)面中去。使別的用戶訪問(wèn)都會(huì)執(zhí)行相應(yīng)的嵌入代碼。
XSS跟SQL注入是類(lèi)似的,它攻擊有兩種方式:
反射型
存儲(chǔ)型
XSS攻擊的危害是很大的,注入script
可以執(zhí)行任何的JS代碼(意味著可以獲取cookie等信息了),注入style
可以把頁(yè)面全部弄崩
防范XSS攻擊
最重要的是:不要相信客戶端發(fā)送過(guò)來(lái)的任何數(shù)據(jù)!
評(píng)論功能就最容易發(fā)生XSS攻擊了
防范XSS攻擊可簡(jiǎn)單分成三個(gè)步驟:
編碼(對(duì)特殊的字符進(jìn)行編碼,
<
,'
,>
等特殊字符過(guò)濾(過(guò)濾掉一切可能被調(diào)用的屬性,標(biāo)簽。比如:onclick,onerror,iframe等等)
encode.js:可以使用https://github.com/mathiasbynens/he 中的he.js
domParse:可以用 https://github.com/blowsie/Pure-JavaScript-HTML5-Parser
參考資料:
慕課網(wǎng):Web安全-XSS
XSS跨站腳本攻擊
XSS實(shí)戰(zhàn):我是如何拿下你的百度賬號(hào)
揭秘——黑客是如何使用xss的
XSS攻擊是什么,怎么秒殺iphone釣魚(yú)站
CSRF
什么是CSRF
CSRF的全名為Cross-site request forgery,它的中文名為 跨站請(qǐng)求偽造(偽造跨站請(qǐng)求【這樣讀順口一點(diǎn)】) CSRF是一種夾持用戶在已經(jīng)登陸的web應(yīng)用程序上執(zhí)行非本意的操作的攻擊方式。相比于XSS,CSRF是利用了系統(tǒng)對(duì)頁(yè)面瀏覽器的信任,XSS則利用了系統(tǒng)對(duì)用戶的信任。CSRF攻擊是源于Web的隱式身份驗(yàn)證機(jī)制!Web的身份驗(yàn)證機(jī)制雖然可以保證一個(gè)請(qǐng)求是來(lái)自于某個(gè)用戶的瀏覽器,但卻無(wú)法保證該請(qǐng)求是用戶批準(zhǔn)發(fā)送的
來(lái)源:http://www.cnblogs.com/phpstudy2015-6/p/6771239.html
防御CSRF攻擊
抵御CSRF攻擊的關(guān)鍵在于:在請(qǐng)求中放入攻擊者所不能偽造的信息,并且該信息不存在于Cookie之中。
那么我們?cè)谔峤槐韱螘r(shí)添加一個(gè)token并驗(yàn)證就行了,很簡(jiǎn)單
參考資料:
每日一題CSRF 是什么?
CSRF攻擊與防御
如何用簡(jiǎn)潔生動(dòng)的語(yǔ)言說(shuō)明 XSS 和 CSRF 的區(qū)別?