卑微小吴励志写博客第12天。

当在浏览器中输入一个网址后的处理过程

1、浏览器根据域名查找域名对应的服务器IP地址。

根据域名查询IP地址的顺序如下:

  • 浏览器DNS >>> 操作系统DNS缓存 >>> 本地(ISP)域名服务器缓存 >>> 根域名服务器。

在请求到根域名服务器之后,根域名服务器告诉本地域名服务器,下一次应查询的顶级域名服务器dns.com的IP地址。

本地域名服务器向顶级域名服务器dns.com进行查询,顶级域名服务器dns.com告诉本地域名服务器,下一步应查询的权限服务器dns.abc.com的IP地址。

本地域名服务器向权限域名服务器dns.abc.com进行查询,权限域名服务器dns.abc.com告诉本地域名服务器,所查询的主机的IP地址。

DNS 是什么?

域名系统DNS(Domain Name System)是因特网使用的命名系统,用来把便于人们使用的机器名字转换成为IP地址。域名系统其实就是名字系统。为什么不叫“名字”而叫“域名”呢?这是因为在这种因特网的命名系统中使用了许多的“域(domain)”,因此就出现了“域名”这个名词。“域名系统”明确地指明这种系统是应用在因特网中。

2、浏览器主机根据IP地址与服务器建立TCP连接。

建立TCP连接需要进行三次握手。

(1)浏览器主机 >>> 服务器:SYN=1,ACK=0,seq=x;

(2)服务器 >>> 浏览器主机:SYN=1,ACK=1,seq=y,ack=y+1;

(3)浏览器主机 >>> 服务器:ACK=1,seq=x+1,ack=y+1。

3、浏览器将访问请求封装为一个HTTP请求报文,通过TCP协议发送给服务器。

HTTP请求报文的方法是get方式;如果浏览器存储了该域名下的Cookies,那么会把Cookies放入HTTP请求头里发给服务器

4、服务器收到请求并响应,生成一个HTTP响应报文,通过TCP协议发送给浏览器主机。

HTTP响应报文的头部包含了状态码(Status-Code),三位数字,有5大类。HTTP响应报文内容则是网页的编码内容。

5、浏览器得到响应报文之后,对响应报文进行解析。

在浏览器没有完整接受全部HTML文档时,它就已经开始显示这个页面了。如果是个静态的页面,那到此就基本结束了。如果是是动态的,那么在浏览器显示HTML时,会获取嵌入在HTML中的对象,浏览器会发送获取请求来重新获得这些文件。

6、浏览器异步请求其他资源。

在分析HTML时,若发现网页引用了其他资源,例如:css、图片等,浏览器则发起HTTP请求,得到响应资源。

附:最常用状态码

一个人做事,在动手之前,当然要详慎考虑;但是计划或方针已定之后,就要认定目标前进,不可再有迟疑不决的态度,这就是坚毅的态度。——邹韬奋

浏览器输入url后怎样请求服务的相关推荐

  1. HTTP浏览器输入URL后发生了什么

    原文:"天龙八步"细说浏览器输入URL后发生了什么   慕课大神 本文摘要: 1.DNS域名解析: 2.建立TCP连接: 3.发送HTTP请求: 4.服务器处理请求: 5.返回响应 ...

  2. 浏览器输入url后发生了什么?

    浏览器输入url后发生了什么? 转载于:https://www.cnblogs.com/hellogiser/p/what-happened-after-url-was-typed-in-browse ...

  3. 前端——在浏览器输入url后发生了都发生了什么

    一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么? 主要包括以下几个基本步骤: 浏览器的地址栏输入URL并按下回车. 浏览器查找当前URL是否存在缓存,并比较缓存是否过期. DNS解 ...

  4. 浏览器输入url后经历的过程(详细)

    页面加载流程: DNS查询 TCP连接 发送HTTP请求 服务器处理HTTP请求并返回HTTP报文 浏览器解析并render页面 HTTP连接断开 1. DNS查询 浏览器查看浏览器缓存-->系 ...

  5. 在浏览器输入URL后发生了什么?

    摘录部分一:https://www.cnblogs.com/kongxy/p/4615226.html 从输入URL到浏览器显示页面发生了什么 当在浏览器地址栏输入网址,如:www.baidu.com ...

  6. 浏览器输入url后发生的变化

    看了一圈网上的总结,然后结合自己的理解,下面的文字是详细的分析,参考知乎.感兴趣的可以仔细看一下,有时间还是要好好研究一下网络传输方面的内容. 本质上面是域名的解析 Domain Name Syste ...

  7. 【网络】浏览器输入URL到展示页面全过程(含互联网协议及HTTPS简介)

    这里写自定义目录标题 前言 1.URL介绍 2.DNS查找 3.互联网协议 3.1 实体层 3.2 链路层 3.2.1 以太网协议 3.2.2 Mac地址 3.2.3 广播 3.3 网络层 3.3.1 ...

  8. 输入URL后浏览器的渲染过程

    铅笔头课堂,有态度的前端培训 输入URL后浏览器的渲染过程 背景 作为前端开发,浏览器是与我们日常相伴的工具,以chrome为例,我们可以利用它调试页面的element节点.network网络.con ...

  9. 浏览器的工作原理:输入URL后,Web页面是如何呈现的?

    重学JavaScript01 ----- 浏览器工作原理 文章目录 重学JavaScript01 ----- 浏览器工作原理 前言 一. 网络模型 应用层: 传输层: TCP协议的运行流程: 网络层: ...

最新文章

  1. 【swjtu】数据结构实验8_平衡二叉排序树
  2. Eclipse集成Tomcat:6个常见的”how to”问题
  3. 【Java 网络编程】NIO Buffer 简介 ( 概念 | 数据传输 | 标记 | 位置 | 限制 | 容量 | 标记 | 重置 | 清除 | 翻转 | 重绕 | 链式操作 )
  4. 使用Silverlight for Embedded开发绚丽的界面(2)
  5. 【转】程序员该做的事 - 每天、每周、每月
  6. JAVA Swing——设置JButton按钮样式
  7. 计算机图形学基础期末考试试题,计算机图形学基础_试卷(B)答案
  8. openstack内存占用清理
  9. python 命名管道_Linux 下 Python 读取命名管道的疑惑
  10. Linux_OpenSSH远程连接
  11. 运用Fluxion高效破解WiFi密码
  12. 用WPS2000制作勾股定理教学课件(转)
  13. seo和网站服务器有什么区别,网站为什么要做seo,seo与sem有什么区别
  14. Connect Four四子棋c++程序 - 用户交互(1)
  15. Cython基础使用
  16. 无人机大面积航测面临的难点及解决方法
  17. raid, scsi_host pics
  18. C#实现繁体简体转换方法总结|ASP.NET.分享
  19. 神器,阿里巴巴Java代码检查插件
  20. 基于权证交易、隐私保护模型的社交概念产品设计

热门文章

  1. 毕业季好难抉择丨考研还是工作我该选哪一个?!
  2. 毫秒级从百亿大表任意维度筛选数据,是怎么做到的.
  3. Anaconda安装报错(Failed to create Anaconda menus)
  4. Spring自定义参数解析器
  5. 那些年你追过的女神:开发人员应该懂多少运维
  6. mysql杀掉sql语句,Mysql使用kill命令解决死锁问题(杀死某条正在执行的sql语句)
  7. java 判断经纬度_Java中根据经纬度来判断距离
  8. React--》UI组件库ant-design的介绍与使用
  9. ios 关于MBProgressHUD简单实用
  10. 万字长文!终于讲透了Python中的多线程和多进程!