这个问题的核心是域名解析和服务器(nginx)解析这两部分,基本上这两部分详细阐述就可以了。

步骤一、解析URL

浏览器会解析当前的URL数据,判断此URL是否为合法的链接。如果是合法链接则正常的向下一步骤前进。如果不是合法的链接,则会执行搜索功能,例如执行百度、360、Google搜索等。

步骤二、解析域名

服务器是以ip的形式存在的。而域名需要解析到ip上,解析IP会有三个小的步骤:

1、从浏览器自身的缓存中解析此域名数据

2、从本地电脑的HOST文件中解析域名

3、通过DNS服务器解析域名

步骤三、拿信息

这个步骤我们拿到了URL的信息,主要是IP和端口信息。

步骤四、封包并进行三次握手

浏览器将请求信息进行打包,通过TCP的三次握手将数据传递至服务器。

步骤五、服务器解析、处理、返回数据

服务器通过种种层级、方式拿到传递的数据,对数据进行分析、处理,最后返回响应类MIME类型数据。正常状态码为200,非正常的错误码有404、500、501等等

步骤六、浏览器获得、渲染、展现数据

浏览器从服务器拿到数据、通过加载资源、渲染页面等操作,将页面展现给用户。

PHP高频面试题 - 详述一次完整的HTTP请求过程相关推荐

  1. 一次完整的域名请求过程

    一次完整的HTTP请求会经历哪些步骤? 这是最原始的问题 从网络的7层协议来划分 ( OSI参考模型 ),分别有 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 还有一个精简的5层模型 T ...

  2. 【Redis高频面试题系列】:说说Redis的rehash过程

    Redis的字典由 dict.h/dict 结构如下(rehash的重点) typedef struct dict {//类型特性函数dictType *type;//私有数据void *privda ...

  3. php:一次完整的HTTP请求过程笔记

    HTTP 事务执行过程 1.客户端(浏览器)做出请求操作(输入网址.点击链接.提交表单) 2.客户端检测缓存 1)有缓存且较新,客户端直接读取本地缓存进行资源展示 2)有缓存但是不新,准备http请求 ...

  4. http-一次完整的HTTP请求过程-六个阶段

    当我们在浏览器的地址栏输入 www.baidu.com ,然后回车,回车这一瞬间到看到页面到底发生了什么呢? 域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请 ...

  5. 测试开发面试准备之HTTP协议-一次完整的Http请求过程

    1.域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到html代码 --> 浏览器解析html代码,并 ...

  6. NetWork——描述一次完整的网络请求过程

    0.  前言 从我们在浏览器的地址栏输入http://blog.csdn.net/seu_calvin后回车,到我们看到该博客的主页,这中间经历了什么呢?简单地回答这个问题,大概是经历了域名解析.TC ...

  7. 【微信小程序高频面试题——精选一】

    微信小程序高频面试题 小程序中如何进行接口请求?会不会跨域,为什么 小程序的常用命令有哪些 你认为微信小程序的优点是什么,缺点是什么 微信小程序中的js和浏览器中的js以及node中的js的区别 微信 ...

  8. 十五道java开发常遇到的计算机网络协议高频面试题

    一.GET 和 POST 的区别 GET 请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的:/test/demo_form.asp?name1=value1&name2= ...

  9. 一次完整的http的请求过程与https的实现

    一次完整的http请求过程: (1)发起请求建立连接:  三次握手 接收请求或拒绝请求 (2)接受请求 来自网络的请求报文中对某资源的一次请求过程: 并发访问响应模型(Web I/O); 单进程I/O ...

最新文章

  1. Robotium todolist.test.elements
  2. mysql random_Mysql中随机函数笔记
  3. ORACLE学习笔记--性能优化2
  4. 【转载】DotNet 资源大全中文版
  5. AI破解古文字登Nature封面:修复缺失文字,精确地理位置和书写时间,DeepMind哈佛谷歌多家联手开发...
  6. java中spring的级别_java – 在简单的示例项目中更改Spring框架日志级别?
  7. javascript --- [express+ vue2.x + elementUI]登陆的流程梳理
  8. php dom 丢失内容,PHP DOMDocument缺失
  9. Jmeter跨线程组传递参数
  10. 从零开始开发JVM语言(七)语义分析的起步
  11. 排序算法第一篇——插入排序
  12. 【转】Sobel 算子
  13. windows 中获取字体文件名
  14. excel数据分析 - 10个数据透视表的优化技巧
  15. 137、易燃固体的分级
  16. 程序员根本不是稳定工作!
  17. Si512 支持 NFC 协议超低功耗检卡能非接触式读卡芯片
  18. Android进阶之路 - 毛玻璃遮罩层
  19. 制作用于图像语义分割训练的标签数据【图像分割】【labelme】
  20. PDF文档一键自动生成目录和书签

热门文章

  1. 互联网+时代拉卡拉支付如何助力中小企业运营升级
  2. 安装twemproxy
  3. 动态规划_求最长公共子序列LCS
  4. jmeter性能测试面试题一【多测师_王sir】
  5. Java利用Zxing生成二维码及解析二维码内容
  6. Git 配置用户名、密码
  7. SwiftUI 创业之缺乏写App的创意该怎么办
  8. linux 配置静态ip总结
  9. 解决微信小程序 uni.createInnerAudioContext() 语音播放没有声音
  10. python怎么设置文本框大小_如何在Python中更改Tkinter文本框的宽度和高度?