一次完整的http请求过程

1、DNS域名解析
    解析地址顺序:
        (1)浏览器自身的DNS缓存(缓存时间比较短,大概只有一分钟,且只能容纳1000条缓存);
        (2)如果浏览器自身缓存里找不到,那么浏览器会搜索系统自身的DNS缓存;
        (3)尝试从hosts文件里面找;
        (4)上面三个过程都没有获取到的话,就去域名服务器查找。
2、三次握手建立tcp连接
    在http工作开始之前,客户端首先要通过网络与服务器建立连接,http连接是通过tcp来完成的。http是比tcp更高层次的应用层协议,根据规则,只有低层协议建立之后,才能进行高层协议的连接,因此,首先要建立tcp连接,一般tcp连接的端口号是80。
3、客户端发起http请求
4、服务端响应http请求
5、客户端解析html代码,并请求html代码中的资源
    浏览器拿到html文件后,就开始解析其中的html代码,遇到js/css/image等静态资源时,就向服务器端去请求下载。
6、客户端渲染展示内容
7、关闭tcp连接
    一般情况下,一旦服务器向客户端返回了请求数据,它就要关闭tcp连接。然而如果客户端或者服务器在其头信息加入这行代码 Connection:keep-alive,tcp连接在返回数据后将仍然保持打开状态,于是,客户端可以继续通过相同的连接发送请求,也就是说前面的3-6步可以反复进行。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。

一次完整的http请求过程相关推荐

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

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

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

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

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

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

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

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

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

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

  6. PHP高频面试题 - 详述一次完整的HTTP请求过程

    这个问题的核心是域名解析和服务器(nginx)解析这两部分,基本上这两部分详细阐述就可以了. 步骤一.解析URL 浏览器会解析当前的URL数据,判断此URL是否为合法的链接.如果是合法链接则正常的向下 ...

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

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

  8. 一个完整的HTTP请求的详细过程

    整个流程 1.DNS解析 浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址; 2.客户端连接到Web服务器 根据解析出 IP 地址与Web服务器的HTTP端口(默认为80)建立 ...

  9. python 爬虫001-http请求过程

    HTTP 请求流程 一次完整的HTTP请求过程从TCP三次握手建立连接成功后开始,客户端按照指定的格式开始向服务端发送HTTP请求,服务端接收请求后,解析HTTP请求,处理完业务逻辑,最后返回一个HT ...

  10. 一次完整的HTTP请求经历了什么过程?

    HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个过程: 1. 建立 TCP 连接 在HTTP工作开始之前,Web浏览器首先通过网络与Web服务器建立连接, ...

最新文章

  1. python exec函数_Python3 exec 函数
  2. android 高德地图纠偏,高德地图纠偏算法(android ,ios)
  3. “阿一web标准学堂”选修课:EditPlus高级使用技巧(附视频、课件、代码下载)...
  4. C++知识点49——类继承与类的构造、拷贝、operator=和析构函数
  5. ECShop 增加收藏商品排行榜功能
  6. 彻底搞定用Xdoclet生成Hibernate所有配置文件
  7. 左神算法:复制含有随机指针节点的链表 / 复杂链表的复制(Java版本)
  8. 计算机管理术语路径描述的是,directory
  9. 如何修改Win7开机登陆界面背景图片
  10. php中的boolean(布尔)类型
  11. 试试只用U盘加载Linux系统
  12. 大漠插件7.2127
  13. 扩展欧几里得算法求逆元c语言,利用扩展欧几里得算法编程求逆元
  14. 皇冠与锚-JS实现(拒绝赌博)
  15. 李嘉诚的语录,经典名人名言-李嘉诚
  16. GLM(General Language Model)代码分析
  17. html lang=zh-cn解决Mac版Firefox中文字体显示问题
  18. 柚墨模板PPT干货分享:幻影动画,打造科幻大片前卫PPT
  19. 用java语言实现2020年1月1号到2022年7月3号之间的间隔天数
  20. jiegputo matlab转置,matlab实现用免疫克隆算法求二元函数的最优值(附源码)

热门文章

  1. 【学习体会】Lighttools8.4.0:软件基本使用+光度学基本概念+系统初始设置
  2. Spring Cloud微服务实战_PDF电子书下载 高清 带索引书签目录_翟永超(著)
  3. html查重报告转换,知网查重报告网页版如何转换成PDF和WORD?
  4. html表单查重,毕业论文的表格会被查重吗?
  5. windows清理C盘
  6. PCB 设计流程(allegro 为例)
  7. 如何开始Java机器学习
  8. verilog实现矩阵卷积运算
  9. ofdm导频信道估计matlab,ofdm系统中基于导频的信道估计算法的性能分析(样例3)...
  10. 计算机打印机驱动f4200,惠普HP Deskjet F4238 多功能一体机驱动惠普HP Deskjet F4238 多功能一体机驱动...