![http请求](https://box.kancloud.cn/0ca959c1447f58b3174dccfa1ec86489_1558x1012.jpeg)
无状态协议:
每次重新创建请求
file_get_content 提交表单
fopen 提交表单
curl 提交表单
fsockopen
$postData = array(
"title"=>"woshisocket"
"content"="tijiao"
);
$postData = http_build_query(postData);
$fp = fsockopen("localhost",80,$errno,$errnoStr,5);
$request = "POSThttp://localhost/http/index.phpHTTP/1.1";
$request .="Host:localhost\r\n";
$request .="Content-type:application/x-www-form-urlencoded\r\n";
$request .="Content-length:".strlen(postData)."\r\n\r\n";
request .= postData;
fwrite($fp,request); //提交数据
//读取数据
while(!feof($fp)){
echo fgets($fp,1024);
}
fclose($fp);
1. Chrome浏览器搜索自身的DNS缓存 chrome://net-internals/#dns
2. 搜索操作系统自身的DNS缓存(浏览器没有找到缓存或缓存已经失效)
3. 读取本地的HOST文件
4. 浏览器发起一个DNS的一个系统调用(运营商查看本身缓存)
5. 运营商服务器发起一个迭代DNS解析的请求。
6. 运营商服务器把结果返回操作系统同时缓存起来,最终拿到域名对应的ip地址
7. 然后发起tcp请求。
8. 进入网卡
9. 进入防火墙
10. 进入端口
11. 建立TCP连接
12. 发送http报文
13. 响应http请求
14. 显示界面
什么是回调?
什么是单线程?
什么是io?
什么是阻塞?阻塞就是一直等待的过程。
什么是事件?
鼠标拖动,鼠标点击。
什么是事件驱动?
什么是事件循环?
event-loop 是一个回调函数队列,当异步函数执行的时候,压入队列。
node.js 特性?
非阻塞,单线程,事件驱动。
什么是作用域?
调用变量的权限
什么是上下文?
与this关键字有关
- 简介
- Cookie
- HTML5 LocalStorage
- session
- 当浏览器关闭后,Session就销毁了吗?
- mysql数据库保存session
- HTTP协议的由来
- fsockopen异步请求
- http防盗链
- Apache伪静态知识补充
- 大并发量解决方案
- 大型网站是怎样解决多用户高并发访问
- 网站高并发 大流量访问的处理及解决方法
- 并发数与在线客户数 注册用户数的关系
- 即时聊天程序
- 反向Ajax实现
- ob缓存作用
- 浅聊并发之战
- php扩展安装
- php安装redis扩展
- SQLMap自动化实施SQL注入共计
- 命名空间namespace
- 集群和分布式之【session共享】
- php Redis存储Session 【1】
- php Redis存储Session 【2】
- php mysql存储session【1】
- php缓存
- 文件缓存
- memcache和redis的比较
- 原生session与session in redis对比
- XSS攻击【1】
- XSS攻击【2】
- PHP消息队列
- php+mysql 模拟发送邮件队列
- php+mysql 模拟订单处理队列
- php+redis 模拟秒杀队列
- RabbitMQ 消息队列系统
- beanstalkd
- PHP构建即时通讯
- WebSocket协议
- workerman
- PHP变量的作用域
- PHP传值和传引用的区别
- PHP匿名函数
- PHP递归函数&应用
- PHP单例模式
- PHP性能优化
- RESTful
- 集群
- 增加pgsql扩展
- php.ini路径查找
- Swoole Compiler
- mysql 主从
- 主从
- mysql-proxy
- window docker环境