HTTP

HTTP 1.0 到 2.0 的变迁

1.0 到 1.1

  • 添加了请求/响应头
  • 默认长连接:解决了TCP复用,每个TCP连接只允许一个请求通过,且要等待该请求返回后,才能继续后面的请求。
  • 断点续传:通过range 确认需要续传的片段,服务器端收到断点续传请求从指定位置开始传输,并在response header 中添加 content-range。对应状态码206
  • 增加多种缓存机制:是否CDN,协商缓存,浏览器强缓存等。
  • 增加身份验证信息字段

提升:并行可以到服务器最大连接数 / 浏览器能发出的最大并连接数(300 / 6 = 50)个

1.1 到 2.0

  • 增加多路复用:以流的方式传输,每个流都有自己的标识,通过这个唯一标识来进行响应。
  • 使用算法进行首部压缩:加快传输速度。
  • 服务器推送:对一个客户端请求发送多个响应。可以推送客户端没有请求的数据,提供缓存服务。

提升:无论多少访问都之建立1个HTTP连接,因此并能可以到Apache的最大连接数。

一次HTTP连接的请求过程

域名解析 -> TCP连接 -> HTTP请求 -> 响应HTTP请求,得到HTML代码 -> 解析代码并渲染。

域名解析的过程

以下逐级检查,如果没有就失败

a)      检索浏览器的DNS缓存

b)     检索操作系统的DNS缓存

c)      读取hosts文件是否有对应IP地址

d)     向首选DNS服务器发起域名解析请求。由运营商逐级查询,返回给系统,系统返回给浏览器。

e)      查找NetBois name cache一段时间内通讯过的计算机名和IP地址

f)       WINS服务器

g)     广播查找

h)     LMHOSTS文件

 

发起TCP连接

1024-65535间的一个随机端口向对应IP的80端口发起TCP请求。

必要的状态码

1xx: 信息性状态码

    100, 101

2xx: 成功状态码

    200:OK

3xx: 重定向状态码

    301: 永久重定向, Location响应首部的值仍为当前URL,因此为隐藏重定向;

    302: 临时重定向,显式重定向, Location响应首部的值为新的URL

    304:Not Modified  未修改,比如本地缓存的资源文件和服务器上比较时,发现并没有修改,服务器返回一个304状态码,

                        告诉浏览器,你不用请求该资源,直接使用本地的资源即可。

4xx: 客户端错误状态码

    404: Not Found  请求的URL资源并不存在

5xx: 服务器端错误状态码

    500: Internal Server Error  服务器内部错误

    502: Bad Gateway  前面代理服务器联系不到后端的服务器时出现

    504:Gateway Timeout  这个是代理能联系到后端的服务器,但是后端的服务器在规定的时间内没有给代理服务器响应

 

转载于:https://www.cnblogs.com/GW977/p/10703961.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值