🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### 基于HTTP1.1标准 1. 1997年公布的HTTP1.1标准,到现在已经使用了22年 HTTP方法 HTTP协议格式 报文结构 首部字段 状态码 HTTP通信过程中代理 HTTP通信过程中网关 HTTP通信过程中隧道 SPDY WebSocket WebDAV HTTPS SSL 证书认证 加密机制 Web攻击 ### TCP/IP 1. 是一个协议族 ### TCP/IP的分层管理:TCP/IP协议族里最重要的一点 1. 应用层 应用层决定了向用户提供应用服务时通信的活动:HTTP协议也处于该层 2. 传输层 传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输 在传输层有两个性质不同的协议:TCP(传输控制协议)和UDP(用户数据报协议) TCP协议:提供可靠的数据传输服务,确保数据最终送达到对方, 字节流服务:是为了方便传输,将大块数据分割成以报文段为单位的数据包进行管理 为了确保数据传输到对方,TCP采用三次握手策略,握手过程中使用了ACK\SYN标志来确保到送对方 3. 网络层 网络层用来处理网络上流动的数据包,通过怎样的(传输路线)到达对方计算机,并把数据包传送给对方,IP协议就处于这一层,IP协议的作用是把各种数据包传送给到对方 IP地址:节点被分配到的地址,IP 地址可变换 MAC地址:网卡所属的固定地址,MAC地址一般不会变 4. 数据链路层 用来处理连接网络的硬件部分,包括控制操作系统、硬件的设备驱动等物理可见部分 ### 与HTTP关系密切的三个协议:IP、TCP和DNS 1. DNS和HTTP协议一样都处于应用层,它提供域名到IP之间的解析服务,或IP到域名之间的解析服务 ### URI和URL 1. URI(统一资源标识符) 2. URL(统一资源占位符) ### 持久连接:Keep-alive 1. HTTP协议的初始版本,每发送一个请求,TCP连接就会产生一次连接,然后再断开,因此,每次的请求会造成 无谓的连接与断开,增加通信量的开销,影响响应速度,在HTTP1.1中默认都是持久连接 2. 管线化(pipeline):持续连接使得请求可以并发,不需要像以前一样请求一个,结束之后才能继续请求一下, 现在可以实现并发请求 ### Cookie 1. 通过在请求和响应中写入Cookie信息来控制客户端的状态 2. 服务器响应头SetCookie,通知客户端保存Cookie,客户端在请求中会带上Cookie ### 压缩传输内容编码:常用的内容编码有以下几种 1. gzip 2. compress(UNIX系统的标准压缩) 3. deflate 4. identity(不进行编码) ### HTTP的分块传输 1. 将内容进行分块传输,可以让浏览器逐步显示页面,不需要等全部加载完之后再渲染 ### 内容协商:根据不同的要求返回不同的内容,比如中英文网站 ### 状态码 1. 是客户端向服务器发送请求时,描述返回的请求结果 2. 1XX:Infomational(信息性状态码):接收的请求正在处理 3. 2XX:Success(成功状态码):请求正常处理完毕 4. 3XX:Redirection(重定向状态码):需要进行附加操作以完成请求 5. 4XX:Client Error(客户端状态码):服务器无法处理请求,错误由客户端引起的 6. 5XX:Server Error(服务器状态码):服务器处理请求出错,错误由服务端引起的 7. 301:永久性重定向 8. 302:临时性重定向 ### 通信数据转发程序:代理、网关、隧道 1. 代理:可以理解为客户端和服务器端的“中间人”角色,接收客户端的请求发送给服务器,也接收服务器端的请求发送给客户端 2. 使用代理服务器的理由有:利用缓存技术减少网络带宽的流量,组织内部针对特定网站的访问控制,以获取访问日志为主要目的 3. 缓存代理:资源经过代理服务器的时候将资源缓存起来,客户端再次请求这个资源的时候代理直接返回 4. 网关:可使通信线路上的服务器提供非HTTP协议服务 5. 隧道:隧道建立起一条客户端与服务器之间的安全通信线路 ### 缓存 1. 缓存是指代理服务器或客户端本地磁盘内保存的资源副本 2. 利用缓存可减少对服务器的访问,因此节约了通信流量和通信时间,也降低了服务器的压力 3. 缓存的有效期限:需要向源服务器确认资源有没有过期 ### HTTP的缺点 1. 通信使用明文(不加密),内容可被他人看到 即使加密过的内容,依旧可以被看到,只是加密过后原内容看不懂 2. 不验证通信方的身份,因此有可能遭遇伪装 3. 无法证明报文的完整性,所以有可能已遭篡改 ### HTTPS = SSL(secure + socket + layer:安全套接层) + HTTP 1. SSL建立安全通信线路后客户端和服务端再进行通信 2.