http的相关知识

137 阅读3分钟

HTTP,FTP,DNS,TCP,UDP,IP OSI七层协议:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层 五层:应用层、传输层、网络层、数据链路层、物理层

image.png

###TCP的三次握手和四次分手 文字总结: 三次握手之后才开始发送数据 客户端先发一条信息给服务端说能听到吗 服务端就发送一条信息并带ACK给客户端说我能听到,你能听到吗 客户端就发送一条信息给服务端说我能听到

四次挥手: 挂了 好的。挂了 好的

image.png

###Http报文 请求报文(Qequest):请求头(首部)+空行+请求数据 响应报文(Response):响应头(首部)+空行+响应数据 ###Http首部

image.png
image.png
请求首部 Accept:用户代理可处理的媒体类型 Accept-Charset:优先的字符集 Accept-Language:优先的语言(自然语言) Accept-Encoding:优先的内容编码 If-Modified-Since:比较资源的更新时间 If-Range:资源未更新时发送实体 Byte 的范围请求 Cookie: 设置Cookie

响应首部 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.让服务器可以主动推送到客户端