最近公司开展职业技能培训,本人招录了部分内容写成博客,若有纰漏,欢迎拍砖。

http简述:

http又称超文本传输协议,是一种无状态&无记忆协议的运用层协议,处于tcp传输层协议之上,采用请求响应模式。http请求数据格式分为请求头、消息报头、消息体;请求头中包含请求url地址和请求类型等信息;消息报头包含验证信息,编码信息,数据类型,长连接,cookie等信息;如果是post或者put请求,消息体包含请求数据

浏览器加载页面流程:

1、从域名缓存服务器中查找当前url域名对应ip,若没有找到,则向DNS服务请求解析域名请求

2、通过ip向服务器(iis 或者 )发送http请求,服务端接收到请求和相关数据后做相应处理后,向服务器响应请求,并将解析好的html存到http响应正文中

3、浏览器读取到html后依次从上到下加载并渲染,如果碰到div或者label等普通的内容标签,则直接渲染

4、如果碰到<link,<script引用资源包标签,会发起一个新http请求下载资源,下载完成并开始解析,解析过程中会停止其它资源的下载直至解析结束

5、当样式表在下载完成后,会结合已有的样式表一起解析,解析完成后,将对上下文中所有元素重新进行渲染

6、如果碰到图片或者视频语言标签,浏览器不会等图片加载完成,而是继续往后渲染,直到图片下载完后重新渲染图片这个局部区域(这就是为什么有时候页面加载完图片还未能加载)

7、每次通过js对dom进行变更操作都会重新引发渲染过程

网页加载速度优化

浏览器加载页面过程实际上就是通过http请求资源+渲染的过程,针对http协议特性以及浏览器加载页面的过程,本人总检出如下优化方案

针对数据大小

1、去除不必要的注释

2、尽量用较小的资源

3、对静态资源做压缩

4、http传输过程做压缩,Accept-Encoding: gzip

5、做cookie隔离,将静态资源放到子域名下,以免请求静态资源http-header中也带上cookie信息

针对请求数量

同一个域下浏览器能同时支持的并发数量有限,比如:某个页面包含n张图片且图片都在同一个域下,同一个时刻只能并行加载其中几张

1、合并较小资源文件

2、适当的页面缓存

3、多张小背景图片合到一张背景图片上

4、http保持长连接 Connection: Keep-Alive,以便重复利用TCP长连接(http是运行在tcp协议之上,创建http之前必须通过三次握手创建tcp连接)

5、将资源分配到不同域下以加大并发请求

针对请求模式

1、异步加载js文件,避免js解析过程导致下载过程堵塞

2、适当使用ajax局部刷新

3、处理js报错

http协议与网页优化泛谈的更多相关文章

  1. 网页优化URI(http URI scheme与data URI scheme)

    网页优化的一大首要任务是减少HTTP 请求 (http request) 的次数,例如通过合并多个JS文件,合并CSS样式文件.除此之外,还有一个data URL 的密技,让我们直接把图像的内容崁入网 ...

  2. CSS.05 -- 规避脱标 定位的盒子居中、CSS标签规范、溢出隐藏、内容移除(网页优化)、CSS精灵图

    规避脱标   定位的盒子居中显示 Margin:0 auto : 只能让标准流的盒子居中对齐 当A是B的父系,B可以使用 margin-left:auto: 来获得相当于定位right:0:的效果 M ...

  3. Fiddler: 如何抓取HTTPS协议的网页

    作者:韦玮  转载请注明出处 Fiddler默认只能抓取HTTP协议的网页,不能抓取HTTPS协议的网页,而我们很多时候,都需要抓HTTPS协议的网页,比如抓淘宝数据等.今天,韦玮老师会为大家讲解如何 ...

  4. Fiddler如何抓取HTTPS协议的网页

    Fiddler默认只能抓取HTTP协议的网页,不能抓取HTTPS协议的网页,而我们很多时候,都需要抓HTTPS协议的网页,比如抓淘宝数据等.今天,韦玮老师会为大家讲解如何使用Fiddler抓取HTTP ...

  5. Apache网页优化与安全

    目录 一.Apache网页优化 1.1.概述 1.2.gzip介绍 1.3.Apache的压缩模块 二.网页压缩实验 2.1.检查是否安装mod_deflate模块 2.2.重新编译安装Apache添 ...

  6. Apache网页优化

    目录: 一.Apache网页优化概述 二.网页压缩 三.网页缓存 四.隐藏版本信息 五.Apache防盗链 一.Apache网页优化概述 在企业中,部署Apache后只采用默认的配置参数,会引发网站很 ...

  7. Apache——网页优化与安全

    Apache--网页优化与安全 1.Apache 网页优化概述 2.网页压缩 3.网页缓存 4.隐藏版本信息 5.Apache 防盗链 1.Apache 网页优化概述: 企业中,部署Apache后只采 ...

  8. HTTP基本协议(查看网页代码)

    此示例已实现查看网页的代码来理解HTTP基本协议: (返回的是百度首页的网页代码) import java.io.BufferedReader; import java.io.IOException; ...

  9. Loadrunner VuGen实战---基本组成、录制流程、协议、脚本优化、参数化(三)

    一.3大基本组件:VuGen.Controller.Analysis 1.VuGen:录制.编写脚本. 2.Controller:性能测试场景设计以及监控的地方. 3.Analysis:生成图表报告的 ...

随机推荐

  1. select 选项的子句

    select 选项 : 关键字 all :全部(默认值)distinct:去掉重复的查询结果.语法:select all * from 表名: 别名: 关键字:as 语法:select * from ...

  2. 【NoSql】Redis

    [NoSql]Redis 一. 文档 1. 官网 2. Windows 安装包 3. C# Driver a. ServiceStack.Redis 最新版本是收费的 b. StackExchange ...

  3. 在JSP中使用JavaBean

    //创建一个PersonBean类 public class PersonBean {    private String name;    private int age;    public Pe ...

  4. 第三节 Hello world --python初体验

    祭旗--hello world 据说简单优雅.功能强大是python的魅力所在,这里看到简单了,优雅是什么样的,接下来的学习中慢慢体会吧! print ("Hello world" ...

  5. JavaWeb 学习004-增删改查的编写

    完成了grade,student模块的 数据库连接部分,还需要不断重复这个过程,熟练掌握JDBC的编写. 在不断编写的过程中,加深理解代码. 下一步 1.biz层面的知识内容 2.还有就是登陆成功后跳 ...

  6. Android布局6大类

    1:在我们Android开发中,常见的布局的方式有6大类 线性布局LinearLayout 相对布局RelativeLayout 表格布局TableLayout 单帧布局FrameLayout 绝对布 ...

  7. ThinkPHP 3.2.3 文件上传时间目录问题

    上传文件的代码如下 在上传文件的时候会默认生成时间目录, 但是有些时候,并不想生成时间目录,而是储存在我们自己定义的目录下,可以这样做: 只需要添加 $upload->autoSub = fal ...

  8. MJPhotoBrowser BUG修复

    崩溃在loading.progress = (float)receivedSize/expectedSize; 分析:MJPhotoView 执行了hide移除了MJPhotoLoadingView, ...

  9. python课程第二周重点记录

    python课程第二周重点记录 1.元组的元素不可被修改,元组的元素的元素可以被修改(字典在元组中,字典的值可以被修改) 2.个人感觉方便做加密解密 3.一些方法的使用 sb = "name ...

  10. Select语句也会引起死锁

    项目上线,准备验收前出现了一个严重的问题:很多select语句作为死锁的牺牲,大部分报表无法打开.这个问题影响范围很大所有的报表都无法访问,而我们的报表是放在电视上面轮播的,电视放在工厂里面,所以出现 ...