# HTTP详解
# 一、简介
HTTP是超文本传输协议,是用于在计算机之间传输数据的应用层协议。
# 二、发展
HTTP协议从诞生至今已经经历了多个版本的演变,以下是各个版本的主要区别:
# 2.1、HTTP/0.9
这个版本的协议非常简单,请求和响应只包含数据本身,没有头信息和其他元数据。
# 2.2、HTTP/1.0
引入了请求头和响应头,允许传输多种数据格式。HTTP/1.0每次请求和响应都需要单独建立TCP连接,效率较低。
请求和响应都是由三部分组成:起始行、首部和实体。
# 2.3、HTTP/1.1
为了解决HTTP/1.0的效率问题,引入了持久连接,即同一个TCP连接可以用于多次请求和响应。同时还引入了管道机制,允许多个请求并发发送和响应。这个版本的协议还引入了新的请求方法和状态码,支持压缩和分块传输编码,可以提高传输效率。
# 2.4、HTTP/2
-
二进制传输
http2.0将请求和响应数据分割为更小的帧,并且它们采用二进制编码(http1.0基于文本格式)。多个帧之间可以乱序发送,根据帧首部的流表示可以重新组装。
-
Header压缩
Http2.0开发了专门的“HPACK”算法,大大压缩了Header信息
-
多路复用
http2.0中引入了多路复用技术,很好的解决了浏览器限制同一个域名下的请求数量的问题。
多路复用技术可以只通过一个TCP链接就可以传输所有的请求数据
-
服务端推送
HTTP2.0在一定程度上改不了传统的“请求-应答”工作模式,服务器不再完全被动地响应请求,也可以新建“流”主动向客户端发送消息。(例如,浏览器在刚请求html的时候就提前把可能会用到的JS,CSS文件发送给客户端,减少等待延迟,这被称为“服务端推送Server Push”)
服务器也不能随便将第三方资源推送给服务器,必须经过双方确认。
此外,HTTP/2还可以使用TLS加密协议,提高安全性。
# 2.5、HTTP/3
HTTP/3基于QUIC协议开发,使用UDP协议进行传输,可以避免TCP的慢启动和拥塞控制等问题。
# 三、HTTP状态码分类
HTTP 状态码用于描述 HTTP 请求的结果,例如 200
表示请求被成功处理。
!
# 科学上网
# 一、前言
科学上网的途径无非两种,一种是机场代理服务,例如: 搬瓦工Just My Socks
另外一种自己购买VPS,搭建VPN
例如:搬瓦工(Bandwagon Host)
然而,然而,我都没有选择,只是用来记录一下优秀的机场而已,当然还有其它的选择!!!!!继续看下去