关于http的一些东西

什么是http?

HTTP 是一个用在计算机世界里的协议,它确立了一种计算机之间交流通信的规范,以及相关的各种控制和错误处理方式。

HTTP 专门用来在两点之间传输数据,不能用于广播、寻址或路由。

HTTP 传输的是文字、图片、音频、视频等超文本数据。

HTTP 是构建互联网的重要基础技术,它没有实体,依赖许多其他的技术来实现,但同时许多技术也都依赖于它。

http发展

HTTP/0.9 结构比较简单,为了便于服务器和客户端处理,它也采用了纯文本格式。蒂姆·伯纳斯 - 李最初设想的系统里的文档都是只读的,所以只允许用 GET 动作从服务器上获取 HTML 文档,并且在响应请求之后立即关闭连接,功能非常有限

HTTP/1.0

增加了 HEAD、POST 等新方法;
增加了响应状态码,标记可能的错误原因;
引入了协议版本号概念;
引入了 HTTP Header(头部)的概念,让 HTTP 处理请求和响应更加灵活;
传输的数据不再仅限于文本。
但是并没有太大意义

HTTP/1.1

增加了 PUT、DELETE 等新的方法;
增加了缓存管理和控制;
明确了连接管理,允许持久连接;
允许响应数据分块(chunked),利于传输大文件;
强制要求 Host 头,让互联网主机托管成为可能。
HTTP/2

二进制协议,不再是纯文本;
可发起多个请求,废弃了 1.1 里的管道;
使用专用算法压缩头部,减少数据传输量;
允许服务器主动向客户端推送数据;
增强了安全性,「事实上」要求加密通信。

cdn ?

浏览器和服务器是 HTTP 协议的两个端点,那么,在这两者之间还有别的什么东西吗?

当然有了。 浏览器通常不会直接连到服务器 ,中间会经过「重重关卡」,其中的一个重要角色就叫做 CDN。

CDN,全称是 Content Delivery Network ,翻译过来就是 内容分发网络 。它应用了 HTTP 协议里的缓存和代理技术,代替源站响应客户端的请求 。

CDN 有什么好处呢?

简单来说,它可以缓存源站的数据,让浏览器的请求不用千里迢迢地到达源站服务器,直接在半路就可以获取响应。如果 CDN 的调度算法很优秀,更可以找到离用户最近的节点,大幅度缩短响应时间。

打个比方,就好像唐僧西天取经,刚出长安城,就看到阿难与迦叶把佛祖的真经递过来了,是不是很省事?

CDN 也是现在互联网中的一项重要基础设施,除了基本的网络加速外,还提供负载均衡、安全防护、边缘计算、跨运营商网络等功能,能够成倍地「放大」源站服务器的服务能力,很多云服务商都把 CDN 作为产品的一部分,我也会在后面用一讲的篇幅来专门讲解 CDN。

键入网址再按下回车,后面究竟发生了什么?

这是一个常问的面试题

假如这个网址是域名 首先要 先解析域名 再建立tcp

假如网址是ip地址的话,首先要做的就是建立 TCP 连接(使用 三次握手 建立与 Web 服务器的连接),服务器收到请求并进行处理,服务器返回一个响应,浏览器对该响应进行解码,渲染显示。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值