HTTP(超文本传输协议),是用于从万维网传输超文本到本地浏览器的传送协议;
其主要是一个基于TCP/IP通信协议来传递数据的;
HTTP版本主要分为三个:HTTP/1.1 , HTTP/2 , HTTP/3 ;
HTTP/2 相对于HTTP/1 大幅度提高了网页的性能,在HTTP/2中引用了多路复用的技术,
只需要通过一个TCP就可以传输所有的请求数据,很好的解决了浏览器限制同一个域名下的请求数量问题,更容易实现全速传输。
HTTP/2使用多路复用,一般来说同一域名只需要使用一个TCP连接,但当连接中出现了丢包情况,整个TCP都需要等待重传,则会造成后面所有数据阻塞。
HTTP/3中使用了QUIC ,QUIC原生就实现了多路复用,其实通过ID,,的方式去识别一个连接,不管网络环境如何变化,只要ID不变,就能迅速连上。
其中常用的请求方法有:get ,post,head
HTTP常见状态码为:
200=> 服务器已成功处理了请求;
400=> 服务器不理解请求的语法;
404 => 服务器找不到请求的网页;
408=> 服务器等候请求时发生超时;
500 => 服务器内部错误,无法完成请求;
505 => 服务器不支持请求中所用的HTTP协议版本;
总结:2开头=> 请求成功 3开头=> 请求被重定向(需要进一步操作才能完成请求)
4开头=> 请求错误 5开头=> 服务器内部错误。
TCP/IP
TCP通信过程分为三个步骤:
(1)建立TCP连接通道=> (2)传输数据 => (3)断开TCP连接通道
建立连接时—— 三次握手
断开连接—— 四次挥手