从URL输入到页面展现

一、web流程

  1. 用户请求资源
  2. 浏览器打包用户请求并发送
  3. 服务器根据资源路径及参数,产生响应发回给浏览器
  4. 浏览器解析结果,渲染页面

二、具体实现

  1. URI转为服务器主机地址
  2. 浏览器http打包请求
  3. 创建TCP连接
  4. 浏览器发送请求
  5. 服务器处理请求
  6. 服务器响应请求,返回给浏览器
  7. 浏览器生成渲染树和DOM树渲染页面
  8. 处理页面嵌入资源和异步请求
  9. 非常规响应处理

1.URL到服务器主机

通过一个路径URL到服务器对应资源

通过DNS(domain name system)将域名和ip对应

DNS解析步骤:

  1. 浏览器缓存
  2. 系统缓存(操作系统)
  3. 路由器缓存
  4. ISP(internet service provider)缓存
  5. 递归搜索,从顶级域名服务器的根域名服务器开始查询

2. 打包HTTP请求

3. 创建TCP连接

一般是通过TCP,UDP不可靠

4. 浏览器发送请求

请求类型:

  • GET
  • HEAD
  • POST
  • TRACE:路由,经历的结点
  • OPTIONS
  • PUT:往服务器上放内容
  • DELETE:在服务器上删出内容

5. 相关进程处理请求

监听端口号

  • http:80
  • https:443
  • ftp:21
  • ssh:22

6. 服务器响应

影响服务器生成结果

  • 请求方法
  • 路径
  • query srting
  • cookie
  • 服务器配置
  • 动态语言代码(php,java)

7. 浏览器渲染页面

浏览器下载和渲染是从上到下顺序

  • 解析HTML生成DOM树

  • 解析CSS生成渲染树:和所有样式一起解析

  • 解析JavaScript:采用阻塞方式,不能并行下载和解析,为了防止修改DOM结构

8. 状态码

  • 200 OK

  • 301 moved permanently 重定向

  • 304 not modified 本地缓存失效,向服务器验证,若未失效则返回304

    Cache-Control:max-age=2592000
    Expires:Fri, 22 Dec 2017 10:08:32 GMT
    
  • 403 forbidden

  • 404 not found 未找到资源

  • 500 internal server error 内部服务器错误

  • 502 bad gateway 网关错误

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容