[Web前端][w3c][布局][性能優(yōu)化][抓包][兼容][Web標(biāo)準(zhǔn)][安全]

本文包括:w3c標(biāo)準(zhǔn)会钝、布局方式溜嗜、前端性能優(yōu)化向臀、調(diào)試抓包工具巢墅、瀏覽器兼容*、Web三大標(biāo)準(zhǔn)券膀、安全問題

  • w3c標(biāo)準(zhǔn)
  • 布局方式
  • 前端性能優(yōu)化
  • 調(diào)試抓包工具
  • 瀏覽器兼容
  • Web三大標(biāo)準(zhǔn) -- 可用性君纫、可維護(hù)性、可訪問性
  • 八大前端安全問題

【W(wǎng)3C標(biāo)準(zhǔn)】

W3C(World Wide Web Consortium), 萬維網(wǎng)聯(lián)盟由 Tim Berners-Lee 于1994年10月創(chuàng)建芹彬。是一個(gè)對 Web 進(jìn)行標(biāo)準(zhǔn)化的會員組織蓄髓,主要分為三個(gè)部分:結(jié)構(gòu)、表現(xiàn)和行為舒帮。

-- 結(jié)構(gòu)化標(biāo)準(zhǔn)語言包括XHTML和XML双吆。
-- 表現(xiàn)標(biāo)準(zhǔn)語言主要包括CSS(層疊樣式表)。
-- 行為標(biāo)準(zhǔn)語言主要包括對象模型(比如DOM和ECMAScript)

使用實(shí)例
當(dāng)頂部為: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
需注意以下情況:(所用前提都是在頂部基礎(chǔ)上而言;崆啊)

  1好乐、所有標(biāo)簽用小寫。 
  2瓦宜、頭文件meta蔚万、link標(biāo)簽。
  3临庇、JS調(diào)用:<script src="/wl_inc/main.js" type="text/javascript"></script> 
  4反璃、表格<table>高度 :不要使用如height="101" 
……

【W(wǎng)eb網(wǎng)頁布局的主要方式】

  1. 靜態(tài)布局(static layout)
  2. 流式布局(Liquid Layout)
  3. 自適應(yīng)布局(Adaptive Layout)
  4. 響應(yīng)式布局(Responsive Layout)
  5. 彈性布局(rem/em布局)
布局方式 屏幕分辨率變化時(shí) 優(yōu)點(diǎn) 缺點(diǎn) 設(shè)計(jì)方法
靜態(tài) 網(wǎng)頁布局始終按照最初寫代碼時(shí)的布局來顯示 編寫簡單昵慌,沒有兼容性問題 不能根據(jù)用戶的屏幕尺寸做出不同的表現(xiàn) 設(shè)置了min-width,小于或大于會出現(xiàn)滾動條/添加背景
流式 頁面里元素的大小會變化淮蜈,布局不變(柵欄系統(tǒng)--網(wǎng)格系統(tǒng) 如果屏幕太大或者太小都會導(dǎo)致元素?zé)o法正常顯示 使用%百分比定義寬度斋攀,高度用px來固定住
自適應(yīng) 頁面里面元素的位置會變化(切換不同的靜態(tài)布局),大小不變 使用 @media 媒體查詢給不同尺寸和介質(zhì)的設(shè)備切換不同的樣式
響應(yīng)式 頁面里面元素位置和大小都會變 適應(yīng)pc和移動端 (1)媒體查詢有限
(2)要匹配足夠多的屏幕大小梧田,工作量大
媒體查詢+流式布局
彈性 見詳解

結(jié)論
1.如果只做pc端淳蔼,那么靜態(tài)布局(定寬度)是最好的選擇;
2.如果做移動端裁眯,且設(shè)計(jì)對高度和元素間距要求不高鹉梨,那么彈性布局(rem+js)是最好的選擇,一份css+一份js調(diào)節(jié)font-size搞定穿稳;
3.如果pc存皂,移動要兼容,而且要求很高那么響應(yīng)式布局還是最好的選擇逢艘,前提是設(shè)計(jì)根據(jù)不同的高寬做不同的設(shè)計(jì)旦袋,響應(yīng)式根據(jù)媒體查詢做不同的布局。

詳解:Web網(wǎng)頁布局的主要方式
https://juejin.im/post/59f706a8f265da43094471a7

【性能優(yōu)化主要方式】

前端優(yōu)化的目的

  1. 從用戶角度而言它改,優(yōu)化能夠讓頁面加載得更快疤孕、對用戶的操作響應(yīng)得更及時(shí),能夠給用戶提供更為友好的體驗(yàn)搔课。
  2. 從服務(wù)商角度而言胰柑,優(yōu)化能夠減少頁面請求數(shù)截亦、或者減小請求所占帶寬爬泥,能夠節(jié)省可觀的資源。

優(yōu)化手段

1. 頁面級優(yōu)化

  • 減少 HTTP請求數(shù)
    一個(gè)完整的請求都需要經(jīng)過 DNS尋址崩瓤、與服務(wù)器建立連接袍啡、發(fā)送數(shù)據(jù)、等待服務(wù)器響應(yīng)却桶、接收數(shù)據(jù)這樣一個(gè) “漫長” 而復(fù)雜的過程境输。
    1. 從設(shè)計(jì)實(shí)現(xiàn)層面簡化頁面
    2. 合理設(shè)置 HTTP緩存
    3. 資源合并與壓縮: 盡可能的將外部的腳本、樣式進(jìn)行合并
    4. CSS Sprites: 合并 CSS圖片
    5. Inline Images: 將圖片嵌入到頁面或 CSS中
    6. Lazy Load Images
  • 將外部腳本置底(將腳本內(nèi)容在頁面信息內(nèi)容加載后再加載)
  • 異步執(zhí)行 inline腳本
  • Lazy Load Javascript(只有在需要加載的時(shí)候加載颖系,在一般情況下并不加載信息內(nèi)容嗅剖。)
  • 將 CSS放在 HEAD中
  • 異步請求 Callback(就是將一些行為樣式提取出來,慢慢的加載信息的內(nèi)容)
  • 減少不必要的 HTTP跳轉(zhuǎn)
  • 避免重復(fù)的資源請求

2. 代碼級優(yōu)化

  • javascript優(yōu)化
(1)將JavaScript腳本放在頁面的底部嘁扼。
(2)將JavaScript和CSS作為外部文件來引用:在實(shí)際應(yīng)用中使用外部文件可以提高頁面速度信粮,因?yàn)镴avaScript和CSS文件都能在瀏覽器中產(chǎn)生緩存。
(3)縮小JavaScript和CSS
(4)刪除重復(fù)的腳本
(5)最小化DOM的訪問:使用JavaScript訪問DOM元素比較慢趁啸。
(6)開發(fā)智能的事件處理程序
(7)javascript代碼注意:謹(jǐn)慎使用with,避免使用eval Function函數(shù),減少作用域鏈查找强缘。
  • CSS優(yōu)化
(1)將CSS代碼放在HTML頁面的頂部
(2)避免使用CSS表達(dá)式
(3)使用<link>來代替@import
(4)避免使用Filters
  • HTML
(1)使用HTML 來構(gòu)造頁面結(jié)構(gòu)督惰,CSS修飾頁面呈現(xiàn),JavaScript實(shí)現(xiàn)頁面功能旅掂。
(2)如果能用CSS或JavaScript實(shí)現(xiàn)就少用HTML代碼赏胚。
(3)將CSS和JavaScript文件與HTML 分開存放。這可有助于緩存和調(diào)試商虐。
  • 圖像優(yōu)化
(1)優(yōu)化圖片大小
(2)通過CSS Sprites優(yōu)化圖片
(3)不要在HTML中使用縮放圖片
(4)favicon.ico要小而且可緩存

【調(diào)試抓包工具】

什么是抓包觉阅?

抓包就是將網(wǎng)絡(luò)傳輸發(fā)送與接收的數(shù)據(jù)包進(jìn)行截獲、重發(fā)称龙、編輯留拾、轉(zhuǎn)存等操作,也用來檢查網(wǎng)絡(luò)安全鲫尊。
在做接口測試的時(shí)候痴柔,經(jīng)常需要驗(yàn)證發(fā)送的消息是否正確,或者在出現(xiàn)問題的時(shí)候疫向,查看手機(jī)客戶端發(fā)送給server端的包內(nèi)容是否正確咳蔚,就需要用到抓包工具。

常用工具

  • Fiddler:在windows上運(yùn)行的程序搔驼,專門用來捕獲HTTP谈火,HTTPS的。使用 C# 語言開發(fā)
  • wireshark:能獲取HTTP舌涨,也能獲取HTTPS糯耍,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的內(nèi)容囊嘉。
  • Charles:可以在 Mac 平臺使用温技, Java 語言開發(fā)

【瀏覽器兼容】

瀏覽器的兼容性無非還是樣式兼容性(css),交互兼容性(javascript)扭粱,瀏覽器 hack 三個(gè)方面舵鳞。

1. 樣式兼容性(css)方面

image

2. 交互兼容性(javascript)

image

3. 瀏覽器 hack

判斷 IE 瀏覽器版本/Safari 瀏覽器/ Chrome 瀏覽器


image
 /* IE */
<!--[if IE 8]> ie8 <![endif]--> 
<!--[if IE 9]> 騷氣的 ie9 瀏覽器 <![endif]-->
 /* Safari */
 var isSafari = /a/.__proto__=='//';
 /* Chrome */
 var isChrome = Boolean(window.chrome);

參考文章:https://juejin.im/post/5b3da006e51d4518f140edb2

【W(wǎng)eb標(biāo)準(zhǔn)】

1. 可用性

產(chǎn)品是否容易上手,用戶能否完成任務(wù)琢蛤,效率如何蜓堕,以及這過程中用戶的主觀感受可好,是從用戶的角度來看產(chǎn)品的質(zhì)量博其√撞牛可用性好意味著產(chǎn)品質(zhì)量高,是企業(yè)的核心競爭力慕淡。

2. 可維護(hù)性

一般包含兩個(gè)層次背伴,一是當(dāng)系統(tǒng)出現(xiàn)問題時(shí),快速定位并解決問題的成本,成本低則可維護(hù)性好挂据。二是代碼是否容易被人理解以清,是否容易修改和增強(qiáng)功能∑樘樱可維護(hù)性和可復(fù)用性掷倔、可擴(kuò)展性等有交叉的地方。構(gòu)建可維護(hù)性好的代碼个绍,對企業(yè)的長期發(fā)展非常重要勒葱。

3. 可訪問性

可訪問性就是對所有人一視同仁,無論他們是否有殘障巴柿。
四個(gè)可訪問性標(biāo)準(zhǔn):

  • 可感知:人們可以通過適合自己的媒體來獲知網(wǎng)頁內(nèi)容凛虽。比如應(yīng)當(dāng)讓盲人得以收聽頁面內(nèi)容。例如广恢,圖像應(yīng)該有文本對應(yīng)體凯旋。
  • 可操作:人們可以與 web 應(yīng)用程序或內(nèi)容進(jìn)行交互。例如钉迷,用戶應(yīng)該可以不用鼠標(biāo)也能與某個(gè)網(wǎng)站進(jìn)行交互至非,并且可以通過屏幕閱讀器來進(jìn)行導(dǎo)航。
  • 可理解:使用者可以弄懂頁面內(nèi)容和用戶界面糠聪。例如荒椭,正文不應(yīng)該比它需要的更加復(fù)雜,且網(wǎng)站應(yīng)以可預(yù)測的方式來運(yùn)行舰蟆。
  • 健壯性:所提供的一切服務(wù)都應(yīng)當(dāng)不受平臺或操作系統(tǒng)的限制趣惠。這樣就可以避免人們提供一些不太完善的服務(wù),這些服務(wù)會因?yàn)橛布?軟件的限制而導(dǎo)致大多數(shù)人都無法使用身害。例如味悄,不同設(shè)備上的瀏覽器能夠一起使用網(wǎng)站,且導(dǎo)航應(yīng)該是一致的题造。

參考文章:

https://www.cnblogs.com/uedt/articles/1809126.html
https://www.cnblogs.com/radom/archive/2011/03/26/1996093.html

【八大前端安全問題】

  • XSS (Cross Site Script))
    瀏覽器錯誤的將攻擊者提供的用戶輸入數(shù)據(jù)當(dāng)做JavaScript腳本給執(zhí)行了傍菇。
  • CSRF(Cross-Site Request Forgery)
    攻擊者可以盜用你的登陸信息猾瘸,以你的身份模擬發(fā)送各種請求界赔。
  • SQL 注入漏洞(SQL Injection)
    可以用它來從數(shù)據(jù)庫獲取敏感信息,或者利用數(shù)據(jù)庫的特性執(zhí)行添加用戶牵触,導(dǎo)出文件等一系列惡意操作淮悼,甚至有可能獲取數(shù)據(jù)庫乃至系統(tǒng)用戶最高權(quán)限。
  • 命令行注入漏洞
    指的是攻擊者能夠通過 HTTP 請求直接侵入主機(jī)揽思,執(zhí)行攻擊者預(yù)設(shè)的 shell 命令袜腥。
  • DDoS(Distributed Denial of Service)
    分布式拒絕服務(wù),利用大量的請求造成資源過載钉汗,導(dǎo)致服務(wù)不可用羹令。
  • 流量劫持
    分為DNS 劫持HTTP 劫持鲤屡,目的都是一樣的,就是當(dāng)用戶訪問某網(wǎng)站的時(shí)候福侈,給你展示的并不是或者不完全是網(wǎng)站提供的 “內(nèi)容”酒来。
  • DNS 劫持
    域名劫持。如果當(dāng)用戶通過某一個(gè)域名訪問一個(gè)站點(diǎn)的時(shí)候肪凛,被篡改的 DNS 服務(wù)器返回的是一個(gè)惡意的釣魚站點(diǎn)的 IP堰汉,用戶就被劫持到了惡意釣魚站點(diǎn),然后繼而會被釣魚輸入各種賬號密碼信息伟墙,泄漏隱私翘鸭。
  • HTTP劫持
    當(dāng)用戶訪問某個(gè)站點(diǎn)的時(shí)候會經(jīng)過運(yùn)營商網(wǎng)絡(luò),而不法運(yùn)營商和黑產(chǎn)勾結(jié)能夠截獲 HTTP 請求返回內(nèi)容戳葵,并且能夠篡改內(nèi)容就乓,然后再返回給用戶,從而實(shí)現(xiàn)劫持頁面拱烁,輕則插入小廣告档址,重則直接篡改成釣魚網(wǎng)站頁面騙用戶隱私。

參考:https://zoumiaojiang.com/article/common-web-security/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末邻梆,一起剝皮案震驚了整個(gè)濱河市守伸,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌浦妄,老刑警劉巖尼摹,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異剂娄,居然都是意外死亡蠢涝,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進(jìn)店門阅懦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來和二,“玉大人,你說我怎么就攤上這事耳胎」呗溃” “怎么了?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵怕午,是天一觀的道長废登。 經(jīng)常有香客問我,道長郁惜,這世上最難降的妖魔是什么堡距? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上羽戒,老公的妹妹穿的比我還像新娘缤沦。我一直安慰自己,他們只是感情好易稠,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布疚俱。 她就那樣靜靜地躺著,像睡著了一般缩多。 火紅的嫁衣襯著肌膚如雪呆奕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天衬吆,我揣著相機(jī)與錄音梁钾,去河邊找鬼。 笑死逊抡,一個(gè)胖子當(dāng)著我的面吹牛姆泻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播冒嫡,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼拇勃,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了孝凌?” 一聲冷哼從身側(cè)響起方咆,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蟀架,沒想到半個(gè)月后瓣赂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡片拍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年煌集,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捌省。...
    茶點(diǎn)故事閱讀 38,724評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡苫纤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出纲缓,到底是詐尸還是另有隱情卷拘,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布色徘,位于F島的核電站恭金,受9級特大地震影響操禀,放射性物質(zhì)發(fā)生泄漏褂策。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望斤寂。 院中可真熱鬧耿焊,春花似錦、人聲如沸遍搞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽溪猿。三九已至钩杰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間诊县,已是汗流浹背讲弄。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留依痊,地道東北人避除。 一個(gè)月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像胸嘁,于是被迫代替她去往敵國和親瓶摆。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內(nèi)容

  • 明月千里遙寄 相思自古難同 春風(fēng)醉 花正紅 春風(fēng)醒 一江春水正向東 水面飄殘紅
    武兵閱讀 238評論 0 1
  • 我們知道就在海邊性宏,向左向右都是風(fēng)景群井。這就更難取舍。早在UNNC讀研的時(shí)候毫胜,就聽同學(xué)說過墾丁的天藍(lán)得深入人...
    AIBarbara閱讀 422評論 1 10