三次握手:为了建立连接
就是三次确认建立一个TCP连接。比如你和你女朋友聊天,这三次确认后,就可以开始说话了。
发送方就是浏览器,接收方就是服务器,是http的请求与相应方式。
你:喂,听得到吗?
女朋友:听得到,你听得到我吗?
你:听到了,我们可以说话了。
四次挥手:为了关闭连接
表示结束连接前的操作。
先关读,后关写
服务端读通道关闭
客户端写通道关闭
客户端读通道关闭
服务端写通道关闭
http协议:
指超文本传输协议。
http/1.0:TCP短连接。只能一条一条请求和响应,类似于串联。请求->响应->请求->响应,中间响应比较慢的话,后面的请求和响应会延迟。请求数据重复,性能差。
http/1.1:TCP长连接。可以同时发送多个请求,然后客户端等待响应,类似于并联。请求->响应、请求->响应。但是前一条请求响应慢的话,后面的响应会延迟。(现在大多还是这个版本)。
http状态码:
1XX:处理的中间状态,一般不会看到 2XX: 200 响应成功 返回数据 204 响应成功 没有数据 206 响应成功 数据没返回完 3XX: 301 永久重定向 原请求失效 302 临时重定向 代码规定其重定向 304 重定向内容已存在 4XX: 400 客户端请求错误 401 发送的请求需求http认证 403 服务端禁止访问 404 服务端资源不存在 5XX: 500 服务端错误 502 访问服务器时错误 503 服务器正忙
GET和POST:
表示请求类型。
get一般用于获取数据,不改变数据。而post一般用于提交数据,会改变数据。
所以get对于服务器安全,post对于服务器不安全。
http和https:
https加入了一层SSL/TLS协议 比http更安全
http的端口是80,https的端口是443
http/2.0:
压缩了二次请求的头。和第一次请求一样的一些头会被过滤掉。
请求报文使用了2进制。不再是明文报文。
服务器可以主动推送消息。比如主动把css与js发给客户端。
http/3.0:
暂时未普及。
Gzip:
是一种UNIX系统中的压缩文件类型。比如:*.tar.gz