[Web前端][w3c][布局][性能优化][抓包][兼容][Web标准][安全]

本文包括:w3c标准、布局方式、前端性能优化、调试抓包工具、浏览器兼容*、Web三大标准、安全问题

  • w3c标准
  • 布局方式
  • 前端性能优化
  • 调试抓包工具
  • 浏览器兼容
  • Web三大标准 -- 可用性、可维护性、可访问性
  • 八大前端安全问题

【W3C标准】

W3C(World Wide Web Consortium), 万维网联盟由 Tim Berners-Lee 于1994年10月创建。是一个对 Web 进行标准化的会员组织,主要分为三个部分:结构、表现和行为。

-- 结构化标准语言包括XHTML和XML。
-- 表现标准语言主要包括CSS(层叠样式表)。
-- 行为标准语言主要包括对象模型(比如DOM和ECMAScript)

使用实例
当顶部为: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
需注意以下情况:(所用前提都是在顶部基础上而言!)

  1、所有标签用小写。 
  2、头文件meta、link标签。
  3、JS调用:<script src="/wl_inc/main.js" type="text/javascript"></script> 
  4、表格<table>高度 :不要使用如height="101" 
……

【Web网页布局的主要方式】

  1. 静态布局(static layout)
  2. 流式布局(Liquid Layout)
  3. 自适应布局(Adaptive Layout)
  4. 响应式布局(Responsive Layout)
  5. 弹性布局(rem/em布局)
布局方式 屏幕分辨率变化时 优点 缺点 设计方法
静态 网页布局始终按照最初写代码时的布局来显示 编写简单,没有兼容性问题 不能根据用户的屏幕尺寸做出不同的表现 设置了min-width,小于或大于会出现滚动条/添加背景
流式 页面里元素的大小会变化,布局不变(栅栏系统--网格系统 如果屏幕太大或者太小都会导致元素无法正常显示 使用%百分比定义宽度,高度用px来固定住
自适应 页面里面元素的位置会变化(切换不同的静态布局),大小不变 使用 @media 媒体查询给不同尺寸和介质的设备切换不同的样式
响应式 页面里面元素位置和大小都会变 适应pc和移动端 (1)媒体查询有限
(2)要匹配足够多的屏幕大小,工作量大
媒体查询+流式布局
弹性 见详解

结论
1.如果只做pc端,那么静态布局(定宽度)是最好的选择;
2.如果做移动端,且设计对高度和元素间距要求不高,那么弹性布局(rem+js)是最好的选择,一份css+一份js调节font-size搞定;
3.如果pc,移动要兼容,而且要求很高那么响应式布局还是最好的选择,前提是设计根据不同的高宽做不同的设计,响应式根据媒体查询做不同的布局。

详解:Web网页布局的主要方式
https://juejin.im/post/59f706a8f265da43094471a7

【性能优化主要方式】

前端优化的目的

  1. 从用户角度而言,优化能够让页面加载得更快、对用户的操作响应得更及时,能够给用户提供更为友好的体验。
  2. 从服务商角度而言,优化能够减少页面请求数、或者减小请求所占带宽,能够节省可观的资源。

优化手段

1. 页面级优化

  • 减少 HTTP请求数
    一个完整的请求都需要经过 DNS寻址、与服务器建立连接、发送数据、等待服务器响应、接收数据这样一个 “漫长” 而复杂的过程。
    1. 从设计实现层面简化页面
    2. 合理设置 HTTP缓存
    3. 资源合并与压缩: 尽可能的将外部的脚本、样式进行合并
    4. CSS Sprites: 合并 CSS图片
    5. Inline Images: 将图片嵌入到页面或 CSS中
    6. Lazy Load Images
  • 将外部脚本置底(将脚本内容在页面信息内容加载后再加载)
  • 异步执行 inline脚本
  • Lazy Load Javascript(只有在需要加载的时候加载,在一般情况下并不加载信息内容。)
  • 将 CSS放在 HEAD中
  • 异步请求 Callback(就是将一些行为样式提取出来,慢慢的加载信息的内容)
  • 减少不必要的 HTTP跳转
  • 避免重复的资源请求

2. 代码级优化

  • javascript优化
(1)将JavaScript脚本放在页面的底部。
(2)将JavaScript和CSS作为外部文件来引用:在实际应用中使用外部文件可以提高页面速度,因为JavaScript和CSS文件都能在浏览器中产生缓存。
(3)缩小JavaScript和CSS
(4)删除重复的脚本
(5)最小化DOM的访问:使用JavaScript访问DOM元素比较慢。
(6)开发智能的事件处理程序
(7)javascript代码注意:谨慎使用with,避免使用eval Function函数,减少作用域链查找。
  • CSS优化
(1)将CSS代码放在HTML页面的顶部
(2)避免使用CSS表达式
(3)使用<link>来代替@import
(4)避免使用Filters
  • HTML
(1)使用HTML 来构造页面结构,CSS修饰页面呈现,JavaScript实现页面功能。
(2)如果能用CSS或JavaScript实现就少用HTML代码。
(3)将CSS和JavaScript文件与HTML 分开存放。这可有助于缓存和调试。
  • 图像优化
(1)优化图片大小
(2)通过CSS Sprites优化图片
(3)不要在HTML中使用缩放图片
(4)favicon.ico要小而且可缓存

【调试抓包工具】

什么是抓包?

抓包就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。
在做接口测试的时候,经常需要验证发送的消息是否正确,或者在出现问题的时候,查看手机客户端发送给server端的包内容是否正确,就需要用到抓包工具。

常用工具

  • Fiddler:在windows上运行的程序,专门用来捕获HTTP,HTTPS的。使用 C# 语言开发
  • wireshark:能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容。
  • Charles:可以在 Mac 平台使用, Java 语言开发

【浏览器兼容】

浏览器的兼容性无非还是样式兼容性(css),交互兼容性(javascript),浏览器 hack 三个方面。

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

【Web标准】

1. 可用性

产品是否容易上手,用户能否完成任务,效率如何,以及这过程中用户的主观感受可好,是从用户的角度来看产品的质量。可用性好意味着产品质量高,是企业的核心竞争力。

2. 可维护性

一般包含两个层次,一是当系统出现问题时,快速定位并解决问题的成本,成本低则可维护性好。二是代码是否容易被人理解,是否容易修改和增强功能。可维护性和可复用性、可扩展性等有交叉的地方。构建可维护性好的代码,对企业的长期发展非常重要。

3. 可访问性

可访问性就是对所有人一视同仁,无论他们是否有残障。
四个可访问性标准:

  • 可感知:人们可以通过适合自己的媒体来获知网页内容。比如应当让盲人得以收听页面内容。例如,图像应该有文本对应体。
  • 可操作:人们可以与 web 应用程序或内容进行交互。例如,用户应该可以不用鼠标也能与某个网站进行交互,并且可以通过屏幕阅读器来进行导航。
  • 可理解:使用者可以弄懂页面内容和用户界面。例如,正文不应该比它需要的更加复杂,且网站应以可预测的方式来运行。
  • 健壮性:所提供的一切服务都应当不受平台或操作系统的限制。这样就可以避免人们提供一些不太完善的服务,这些服务会因为硬件/软件的限制而导致大多数人都无法使用。例如,不同设备上的浏览器能够一起使用网站,且导航应该是一致的。

参考文章:

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

【八大前端安全问题】

  • XSS (Cross Site Script))
    浏览器错误的将攻击者提供的用户输入数据当做JavaScript脚本给执行了。
  • CSRF(Cross-Site Request Forgery)
    攻击者可以盗用你的登陆信息,以你的身份模拟发送各种请求。
  • SQL 注入漏洞(SQL Injection)
    可以用它来从数据库获取敏感信息,或者利用数据库的特性执行添加用户,导出文件等一系列恶意操作,甚至有可能获取数据库乃至系统用户最高权限。
  • 命令行注入漏洞
    指的是攻击者能够通过 HTTP 请求直接侵入主机,执行攻击者预设的 shell 命令。
  • DDoS(Distributed Denial of Service)
    分布式拒绝服务,利用大量的请求造成资源过载,导致服务不可用。
  • 流量劫持
    分为DNS 劫持HTTP 劫持,目的都是一样的,就是当用户访问某网站的时候,给你展示的并不是或者不完全是网站提供的 “内容”。
  • DNS 劫持
    域名劫持。如果当用户通过某一个域名访问一个站点的时候,被篡改的 DNS 服务器返回的是一个恶意的钓鱼站点的 IP,用户就被劫持到了恶意钓鱼站点,然后继而会被钓鱼输入各种账号密码信息,泄漏隐私。
  • HTTP劫持
    当用户访问某个站点的时候会经过运营商网络,而不法运营商和黑产勾结能够截获 HTTP 请求返回内容,并且能够篡改内容,然后再返回给用户,从而实现劫持页面,轻则插入小广告,重则直接篡改成钓鱼网站页面骗用户隐私。

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容

  • 明月千里遥寄 相思自古难同 春风醉 花正红 春风醒 一江春水正向东 水面飘残红
    武兵阅读 238评论 0 1
  • 我们知道就在海边,向左向右都是风景。这就更难取舍。早在UNNC读研的时候,就听同学说过垦丁的天蓝得深入人...
    AIBarbara阅读 422评论 1 10