🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 端口与socket ###端口是什么 |端口是内存中的某一块地址 服务器比作房子,端口就是通向不同房间(服务)的门 **端口解决了网络协议之间的沟通** ###什么是socket http端口80,如何区分不同的客户端 **socket = 服务端端口 + 服务端ip + 客户端端口 + 客户端ip** ##为什么要了解http协议 数据抓包 网络爬虫 http服务器 php框架 rest api http1.0 1.1 2.0? http请求流程? #Http请求在网络模型中的流程 ##用户访问URL流程: URL与URI(http、mailto、tel) 7层:浏览器查询dns服务器,获取域名对应的ip地址 7层:浏览器生成http请求信息交给tcp协议发送(SPDY6层SSL5层) 4层:tcp协议经过三次握手和web服务器建立连接,开始发送tcp报文 3层:ip层封装ip报文(源ip目的ip)送往ip路由中转 2、1层: 中间再经过链路层封装报文、物理层模数转换 接收端反序:web服务器读取tcp组装的http报文,生成请求结果 接收端作为发送端:web服务器以同样的方式组装报文传送给用户浏览器(展现) 入 域名 建立 负载 程序 缓存 数据 数据 页面 结果 页面 地址 解析 连接 分发 执行 读取 获取 返回 组合 返回 执行 #浏览器渲染流程 1. 浏览器下载和渲染的顺序从上到下,下载和渲染同时进行的。 2. 在渲染到页面的某一部分时,其上面的所有部分都已经下载完成,但并不是所有相 关联的元素都已经下载完。 3. 如果遇到语义解释性的标签嵌入文件(JS脚本,CSS样式),那么浏览器会启用单 独连接进行下载。 4. 下载后马上进行解析,解析过程中,停止页面所有往下元素的下载。 5. 样式表在下载完成后,将和以前下载的所有样式表一起进行解析,解析完成后,将 对此前所有元素(含以前已经渲染的)重新进行渲染。 6. JS、CSS中如有重定义,后定义函数将覆盖前定义函数 #LNMP架构 ##php执行方式对比 1. mod_php稳定性不好PHP出错server进程也受影响 2. php-fpm 在php出错时启动新的php进程 3. php-fpm可以webserver分离 ,能同时运行多份 甚至多php版本 4. php-fpm效率甚至比mod_php更高 php-fpm缺点:不利于调试,需单独监控 #Nginx配置 基本配置 gzip压缩 缓存 跨域 反向代理 #http瓶颈与发展 ##性能瓶颈 1、一次连接只能发送一p请求 2、请求只能从客户端开始f客户端只可接收m能推送d轮询浪费资源e 3、请求/响应–部未压缩 4、重复发送冗长的–部浪费资源 ##性能瓶颈解决 AJAX:不重复下载页面 Comet:服务器挂起请求做长连接f模拟实时推送消息 SPDY:会话层实现ftJW多路复用、请求优先级、压缩–部、服务器u 动推送f但m能解决多域名及其他OtTS本身等问题 WebSocket:推送、长连接减少通讯量 WebDAV:服务器文件管理 https = http + 加密 + 认证 + 完整性保护 ![](https://box.kancloud.cn/2016-02-22_56ca88ebf1c5b.png)