浅谈http协议
1.http是什么?
http是一种计算机之间交流通信的协议。
2.http传输的是什么?
http是一种超文本传输协议,可以传输文字、图片、音频、视频等超文本数据。
3.请求一个网址浏览器都发生了什么?
(1)浏览器从地址栏的输入中进行dns解析查找 IP 地址和端口号;
(2)浏览器用 TCP 的三次握手与服务器建立连接;
(3)浏览器向服务器发送报文;
(4)服务器收到报文后处理请求,同样拼好报文再发给浏览器;
(5)浏览器解析报文,渲染输出页面。
4.常见的状态码
状态码是服务器对浏览器请求后返回的处理结果。
1××:提示信息,表示目前是协议处理的中间状态,还需要后续的操作;
2××:成功,报文已经收到并被正确处理,常用的有 200、204、206;
3××:重定向,资源位置发生变动,需要客户端重新发送请求,常用的有 301、302、304;
4××:客户端错误,请求报文有误,服务器无法处理,常用的有 400、403、404;
5××:服务器错误,服务器在处理请求时内部发生了错误,常用的有 500、501、502、503;
5.http中的缓存
缓存是优化系统性能的重要手段。服务器使用“Cache-Control”设置缓存策略,常用的是“max-age”,表示当前数据资源的有效期,浏览器从服务器请求数据后就会存入缓存,如果没过期就可以直接使用,过期就要使用“if-Modified-Since”和“If-None-Match”去服务器验证是否仍然可用,收到 304 就可以复用缓存里的资源。验证资源是否被修改的条件有两个:“Last-modified”和“ETag”。
6.http中的cookie
Cookie 是服务器委托浏览器存储的一些数据,实现有状态的会话事务。
7.https、SSL/TLS是什么?
因为http 是明文传输的,所以在传输过程中数据容易被攻击和篡改,为了保证传输的安全性和私密性,https诞生了。
https的语法、语义仍然是 http,但把协议由 TCP/IP 换成了 SSL/TLS。
SSL/TLS是一种采用多种加密技术来保证通信安全的。常见的加密技术有RSA和ECC加密。
8.http1.0和http2.0之间的区别
http2.0压缩了头部信息,节约带宽;
http2.0 的消息不再是“Header+Body”的形式,而是分散为多个二进制“帧”;
http2.0使用虚拟的“流”传输消息,解决了困扰多年的“队头阻塞”问题,同时实现了“多路复用”,提高连接的利用率;
9. http性能优化
(1) cdn加速
(2)开启缓存
(3)gzip压缩
共同学习,写下你的评论
评论加载中...
作者其他优质文章