HTTP,FTP,DNS,TCP,UDP,IP OSI七层协议:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层 五层:应用层、传输层、网络层、数据链路层、物理层
###TCP的三次握手和四次分手 文字总结: 三次握手之后才开始发送数据 客户端先发一条信息给服务端说能听到吗 服务端就发送一条信息并带ACK给客户端说我能听到,你能听到吗 客户端就发送一条信息给服务端说我能听到
四次挥手: 挂了 好的。挂了 好的
###Http报文 请求报文(Qequest):请求头(首部)+空行+请求数据 响应报文(Response):响应头(首部)+空行+响应数据 ###Http首部
响应首部 Cache-Control:控制缓存的行为 set-Cookie: 设置Cookie Location:令客户端重定向至指定 URI Expires:实体主体过期的日期时间 Last-Modified:资源的最后修改日期时间 Status Code: 响应的状态码
**cookie:**服务端发过来的信息,在客户端保存并再请求的时候发给服务端,cookie有个过期时间 session:在服务端保存客户端的信息,断开链接时则失效 **token:**服务端给客户端的一个id身份号码。
###Http缓存 cache-Control(缓存策略):Public、private、no_cache、max_age、no-store(不缓存) Expires(缓存的过期策略):指名了缓存数据有效的绝对时间,告诉客户端到了这个时间点(比照客户端时间点)后本地缓存就作废了。 如果缓存过期再去请求服务器时,不一定拿到数据(304)
###Http状态码 1xx: Infomational (信息状态码) ,接收的请求正在处理 2xx: Succeed(成功),请求正常处理完毕,如 200,204 3xx: Redirection(重定向),需要进行附加操作,一般是没有响应数据返回的,如 304(Not,modified)307 4xx: Client Error (客户端的错误),服务器无法处理请求,如 404,405 5xx: Server Error (服务端的错误),服务器处理请求出错,如 500,502
###Http和Https的区别 https=http+加密验证
http的缺点: 1.数据没有加密传输,可能被监听 2.不验证通信方的身份容易被伪装 3.无法验证报文的完成性可能被篡改
TLS/SSL协议: 加密:对称加密(AES,DES)+非对称加密(RSA,DSA) 证书:建立连接的速度会被拖慢,TCP 8次握手
###Http1.0和Http2.0的区别 http2.0: 1.使用二进制传输不是文本 2.可以多路复用 3.报头使用了压缩 4.让服务器可以主动推送到客户端