## 端口与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)
- SWOOLE及php网络编程
- LNMP架构与Socket,http协议
- 如何高效学习
- 开发工具箱
- 编写高效的js
- js闭包编写全功能的购物车
- JSON和JSONP
- 多级分类的开发与应用
- 设计安全的登录注册流程
- 前端性能优化
- 前端架构优化
- 使用第三方云服务加速产品开发
- 移动互联网之API开发
- php分层
- 全文检索的实践与部署
- webIM的原理及前后端实现
- 如何配置高效的数据库以及MySQL的代码及插件开发
- NoSql.队列,任务队列
- 构建本机缓存,构建分布式缓存池
- 数据库分库分表的设计
- Nginx原理及模块开发初步
- 无限扩充的数据库架构
- php构建分库分表分布式数据库连接池
- 静态文件上传、分布式存储与分发
- MySQL Cluster,Proxy分析与实践
- 架构解密