多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
#### 1. 理解什么是协议,了解TCP/IP网络协议族的构成,每层协议在应用程序中发挥的作用 #### 2. HTTP 1. HTTP是基于TCP/IP的关于数据如何在网络中通信的协议 #### 2. GET和POST的区别 1. GET和POST本质上没有区别,因为都是基于TCP/IP,只是HTTP规定的两种传输方法 2. 从使用上来看,GET请求的传参是拼接在URL中,参数相对POST更可见,所以POST相对比GET要安全一些,URL浏览器对长度也做了限制,一般是2K个字节 3. POST传输的数据格式不受限制,GET的传输格式有限制( 只接受ASCII字符 ) 4. GET请求参数会遗留在浏览器浏览历史记录当中,可以看到,POST不会 5. 最大的区别在于GET请求会将HTTP header和data一次打包发出,POST会先发送header,再发送数据,会产生两个TCP数据包,但发送两次数据包在网络好的情况下差异几乎可以不计 6. 从语义上来看,获取数据应该用GET,提交数据应该用POST #### 2. 三次握手和四次挥手详细原理,为什么要使用这种机制 #### 3. 有哪些协议是可靠,TCP有哪些手段保证可靠交付 1. TCP通过以下方式来提供可靠性 2. 将数据分割为TCP认为合理的数据块 3. 对于重复数据,能够丢弃重复数据 4. TCP发送数据端,超时会重新发送 5. 对于收到的请求,会给出确认响应 #### 4. DNS的作用、DNS解析的详细过程 ,DNS优化原理 #### 5. CDN的作用和原理 1. CDN作用:加速文件网络传输 2. CDN原理:优化物理链路层传输过程中的光速有限、丢包等问题来提升网速,其优势是通过各地的服务器部署, 使用户在不同的地方访问可以从就近的CDN服务器上获取资源,速度比不同的地方都从同一个地方获取速度会快很多 #### 6. HTTP请求报文和响应报文的具体组成,能理解常见请求头的含义,有几种请求方式,区别是什么 #### 7. HTTP所有状态码的具体含义,看到异常状态友能快速定位问题 #### 8. HTTP1.1、HTTP2.0带来的改变 2. --- HTTP2.0 --- 1. 二进制分帧:在应用层(HTTP)和传输层(TCP)之间增加一个二进制分帧层 2. 首部压缩 3. 流量控制 4. 多路复用 5. 请求优先级 6. 服务器推送 #### 9. HTTPS的加密原理,如何开启HTTPS,如何劫持HTTPS请求 #### 10. 理解WebSocket协议的底层原理、与HTTP的区别 #### 11. HTTP缓存 1. HTTP缓存分为:强制缓存以及协商缓存,强制缓存优先级高,当未并中强制缓存时,才会进行协商缓存 2. 强制缓存的实现:从expires到现在的cache-control,expires是向下兼容方案,因为客户端时间可能更改 3. cache-control: maxage=315000 是设定缓存时间,在这个时间段内都有效,s-maxage只在代理服务器中生效 4. public 与 private:这两个都是针对代理服务器的设置,private使该资源只能被浏览器缓存,public使资源在浏览器与代理服务器均能进行缓存,private是默认值 5. no-cache与no-store:no-cache请求资源时不会进行浏览器缓存查询,会直接向服务器确认资源是否过期,no-store不使用缓存,每次重新加载请求 6. 协商缓存:HTTP响应为 304 Not Modified,服务器提示资源缓存未改动,资源会被重定向到浏览器缓存 7. 服务器响应头添加:Last-Modified,浏览器请求头添加:If-Modified-Since为响应头的值,服务器拿到这个时间戳与资源在服务器的改动时间进行比较,这种方式存在两个弊端:文件编辑但未修改内容,也会重新请求,文件修改时间过短,反而没有重新进行请求 8. Etag是为资源添加唯一的标识符,优先级大于Last-Modified,但Etag的生成会耗费服务器一定的性能