一个普通网站访问的过程 简单概括一下,对于我们普通的网站访问,涉及到的技术就是:

  1. 用户操作浏览器访问,浏览器向服务器发出一个 HTTP 请求;
  2. 服务器接收到 HTTP 请求,Web Server 进行相应的初步处理,使用服务器脚本生成页面;
  3. 服务器脚本(利用Web Framework)调用本地和客户端传来的数据,生成页面;
  4. Web Server 将生成的页面作为 HTTP 响应的 body,根据不同的处理结果生成 HTTP header,发回给客户端;
  5. 客户端(浏览器)接收到 HTTP 响应,通常第一个请求得到的 HTTP 响应的 body 里是 HTML 代码,于是对 HTML 代码开始解析;
  6. 解析过程中遇到引用的服务器上的资源(额外的 CSS、JS代码,图片、音视频,附件等),再向 Web Server 发送请求,Web Server 找到对应的文件,发送回来;
  7. 浏览器解析 HTML 包含的内容,用得到的 CSS 代码进行外观上的进一步渲染,JS 代码也可能会对外观进行一定的处理;
  8. 用户与页面交互(点击,悬停等等)时,JS 代码对此作出一定的反应,添加特效与动画;
  9. 交互的过程中可能需要向服务器索取或提交额外的数据(局部的刷新,类似微博的新消息通知),一般不是跳转就是通过 JS 代码(响应某个动作或者定时)向 Web Server 发送请求,Web Server 再用服务器脚本进行处理(生成资源or写入数据之类的),把资源返回给客户端,客户端用得到的资源来实现动态效果或其他改变。

注意这只是小网站里比较常见的模型,大网站为了解决规模问题还会有很多处理,每个环节都会有一些细微的差异,中间还会使用各种各样的工具减轻服务器的压力,提高效率,方便日常维护~

转载于:https://www.cnblogs.com/Allen-rg/p/5696206.html

网站访问过程理解(一点记录)相关推荐

  1. 网站访问过程HTML

    flag:最终目标就是进入大厂成为一个优秀的前端攻城狮! 1.一个普通网站访问的过程 简单概括一下,对于我们普通的网站访问,总体来说分为以下几个过程: DNS解析 TCP连接 发送HTTP请求 服务器 ...

  2. php记录网站访问,PHP简单实现记录网站访问量的功能

    这篇文章主要介绍了PHP简单实现记录网站访问量功能,涉及php针对文件加锁读写及日期时间转换等相关操作技巧,需要的朋友可以参考下 本文实例讲述了PHP简单实现记录网站访问量功能.分享给大家供大家参考, ...

  3. 通过实现网站访问计数器带你理解 轻量级锁CAS原理,还学不会算我输!!!

    精彩推荐 一百期Java面试题汇总 SpringBoot内容聚合 IntelliJ IDEA内容聚合 Mybatis内容聚合 一.实现网站访问计数器 1.线程不安全的做法 1.1.代码 package ...

  4. 网络基础 - 用户访问一个网站的过程的描述

    网络基础 - 用户访问一个网站的过程的描述 1.当我们打开浏览器输入网址回车,到看到网页页面.  是一个非常复杂的过程,听我细细道来: DNS解析 大家都知道,计算机之间只能通过ip相互通信,因为ip ...

  5. 浏览器访问网站的过程

    浏览器访问网站的过程: 1.DNS解析: (1)为什么进行DNS解析? 域名解析是将域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务.对于网站来说,在经过域名解析这一流程后,网 ...

  6. 秋色园网站转移过程记录篇

    前言: 昨夜断网了,早上把长宽的工作人员叫到家里来检测才发现,原来到期了,要续费交钱了. 昨夜断网时,无聊中就看了下某网友的给的DLL里的关于数据层多数据库的实现,看到一个槽点,本来想写写. 今天发现 ...

  7. WEB网站访问的过程

    用户访问网站的基本流程(6个阶段): DNS解析   tcp三次握手  http请求报文  网站集群内部处理数据的一个过程   http响应报文  tcp四次挥手断开的过程 DNS解析过程 1)DNS ...

  8. HTTP访问一个网站的过程详解

    访问一个网站的过程详解 例如访问:http://www.baidu.com HTTP请求的准备 浏览器会将www.baidu.com这个域名发送给DNS服务器,让它解析成IP地址.由于HTTP是基于T ...

  9. Java基础-Tomcat虚拟主机的配置之网站访问的过程和虚拟主机的配置

    Tomcat虚拟主机的配置之网站访问的过程和虚拟主机的配置 网站的访问过程: 虚拟主机的配置: 什么是虚拟主机?  虚拟主机:在电脑上设置一个目录,使用一个名称与该目录进行绑定.这个路径称为是虚拟主机 ...

最新文章

  1. Android代码实现APK文件的安装与卸载
  2. 阿里云云服务器更新GCC是提示错误解决方案
  3. 高校计算机实验管理人员会议,计算机科学学院召开实验室安全与管理工作会议...
  4. psql+加载mysql数据库_Go实战--go语言操作PostgreSQL数据库(github.com/lib/pq)
  5. java二叉树算法_JAVA 二叉树算法 (遍历、深度、汇总求和)
  6. Zookeeper基础使用
  7. java.lang.NoClassDefFoundError: org/jaxen/JaxenException
  8. 56款超赞的国外html表单模板
  9. 十分钟带你解读Effective C++(导读)
  10. TM4C123G学习记录(3)--外部中断
  11. shape (0,) 是什么意思
  12. cpython-36m-x86_64-linux-gnu.so undefined symbol玄学解决
  13. Java中使用字符流读取UTF-8和写出txt文件 乱码 问题
  14. 大疆创新2019校招
  15. 测试知识之:黑盒白盒和灰盒测试
  16. PCL1.9.0网盘资源分享(ALL IN ONE +PDB)
  17. Vue-生命周期-axios
  18. c++ 枚举系统字体
  19. 开普敦大学快速相关攻击项目的简单使用
  20. 报错解决:Can‘t connect to X11 window server using……

热门文章

  1. 高并发简单解决方案————redis队列缓存+mysql 批量入库(ThinkPhP)
  2. 福布斯2015中国非上市潜力企业100强
  3. 如何在CentOS 7中禁止IPv6
  4. Windows Phone开发(27):隔离存储A
  5. .net HtmlParser初步使用研究
  6. Makefile中打印变量
  7. activeform表单中的旧数据怎么显示_三分钟为你细数 Vue el-form 表单校验的坑点
  8. 线程间怎么交换数据_2 万字长文详解 10 大多线程面试题|原力计划
  9. CListCtrl 使用技巧
  10. 浮点数精度问题透析:小数计算不准确+浮点数精度丢失根源