牛骨文教育服务平台(让学习变的简单)
博文笔记

当你在浏览器输入网址发生了什么

创建时间:2017-02-26 投稿人: 浏览次数:1591

1.输入网址 www.php.net

http 默认访问的是80端口
https 默认访问的是443端口

2.DNS

1.在浏览器的缓存里查找
2.如果没有,就去查看hosts文件是否有对应的ip
3.如果hosts文件没有,就去查询本地DNS服务器

3.socket

找到域名对应的ip地址,开始三次握手,建立连接

4.浏览器发送请求

GET / HTTP/1.1
Host: php.net
[其他头部]

5.web服务器监听 端口(80或者其他)

1.web服务器根据浏览器发送的Request Header 看出缓存时间还没到 返回, 304 NOT Modified
2. 请求php-pfm,成功返回 200 ok

6.CGI

cgi : common gateway interface 公共网关接口 ,是一个web server(nginx,apache)与脚本语言的一个通信标准 ,是一个协议
fastcgi : 是cgi的升级版本,也是一个协议
php-cgi: 实现cgi的php脚本解析器,是一个程序
php-fpm: 是一个fastcig的进程管理器,是一个程序

https://segmentfault.com/q/1010000000256516

7.php-fpm启动进程将请求的query,header,url,数据传递给php脚本,php脚本处理

8.如果需要数据,在请求mysql数据库,再把结果返回给php脚本

9.fastcig进程将标准输出和一些错误信息返回给web服务器

10.web服务器返回给浏览器,关闭socket连接

11.浏览器加载html->解析dom,css,js->渲染dom->绘制dom(绘制在浏览器上)

css ,解析css,产生规则树
js ,脚本解析
https://www.html5rocks.com/zh/tutorials/internals/howbrowserswork/

12.用户看到了浏览器绘制的结果。

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。