这是我参与「第五届青训营」伴学笔记创作活动的第3天
HTTP简介
HTTP是属于应用层的一个协议,主要是用来解决c/s模式通信的问题。允许传输任意类型的数据,由于协议比较简单,使得HTTP服务器的规模比较小,因此通信传输数据的速度很快。
HTTP URL
通常URL地址分别由协议、IP地址(域名)、端口号、请求资源地址组成。
HTTP请求
http请求由三部分组成:分别为请求首行、请求头、请求体组成。请求首行以一个请求方法开头,后面带着请求的地址和协议的版本。 请求方法有多种分别为:GET、POST、HEAD、PUT、DELETE、OPTIONS等。
状态码
状态代码由三位数字所组成,第一个数字表示响应的类别,有五种可能的取值:
1xx 表示请求已经被接收
2xx 表示客户端请求成功
3xx 表示重定向
4xx 表示请求资源不存在或请求无法实现
5xx 表示服务器内部发生了不可预期的错误
HTTP/2
HTTP/2相对于HTTP/1在传输的过程中有着更快、更稳定、更简单的表现。
HTTP/2使用帧作为最小单位进行传输,同时采用二进制和更为优秀的压缩算法,使传输的效率更高。在建立连接之后,会有若干条双向字节流,可以承载一条或者多条消息。在流控制下,能够阻止发送方向接收方发送大量数据的机制。浏览器能够识别在接收方对数据量要求不大的情况下,将带宽分配给其他需要的应用程序。
HTTPS
由于HTTP发送的请求是明文发送的,安全性得不到保障,因此诞生了HTTPS(Hypertext Transfer Protocol Secure)。其中分为;对称加密和非对称加密。对称加密指的是客户端和服务器端加密和解密使用的都是同一个密钥,由于传输的过程中密钥可能被盗取,因此非对称加密的安全性要比对称加密高,即加密和解密需要拿到两个不同的密钥,这样即使在传输的过程中密钥被盗取,也解开不了加密的传输数据。