广告位联系
返回顶部
分享到

http请求过程介绍解析

服务器其他 来源:互联网 作者:佚名 发布时间:2023-06-04 19:47:41 人浏览
摘要

一、http请求的完整过程简述 1、域名解析:使用DNS协议进行域名解析 2、建立连接:发起TCP三次握手 3、发起http请求:建立TCP连接成功后,浏览器发起http请求 4、响应http请求:服务端响

一、http请求的完整过程简述

1、域名解析:使用DNS协议进行域名解析
2、建立连接:发起TCP三次握手
3、发起http请求:建立TCP连接成功后,浏览器发起http请求
4、响应http请求:服务端响应http请求,浏览器得到返回response
5、解析response:浏览器解析response,并请求其它的资源(如js、css等)
6、浏览器渲染展示页面:浏览器根据内核对页面进行渲染展示
7、断开连接:TCP四次挥手

二、http请求过程举例详述

比如访问:www.jb51.net,具体流程:

1、通过DNS域名解析到IP

解析顺序:
1.1 浏览器搜索自己的DNS缓存
1.2 如果浏览器自身缓存里找不到,就会去搜索操作系统自身的DNS缓存
1.3 以上两个都无,则尝试从操作系统的hosts文件里面找位置一般在C:\Windows\System32\drivers\etc\hosts)
1.4 上面三个过程都没有获取到的话,就递归的去域名服务器去查找

2、通过IP使用ARP地址解析协议,找到对应的服务器

3、找到服务器后,发起TCP三次握手建立连接

在 HTTP 工作开始之前,浏览器 首先要通过网络与 服务器建立连接,该连接是通过TCP来完成的,该协议与 IP 协议共同构建 Internet,即著名的 TCP/IP 协议,因此 Internet 又被称作是TCP/IP网络。HTTP 是比 TCP 更高层次的应用层协议,根据规则,只有低层协议建立之后才能进行更高层协议的连接,因此,首先要建立 TCP 连接,一般TCP连接的端口号是80。建立TCP连接需要找到连接主机,所以需要先解析域名得到 IP 再找到主机进行3 次握手建立TCP连接(两台电脑之间建立一个通信桥梁)

4、建立TCP请求后,发起HTTP请求

一旦建立了 TCP 连接, 浏览器就会向 服务器发送请求命令

5、服务器响应HTTP请求,返回RESPONSE

浏览器向服务器发出请求后,服务器会对其进行应答,应答内容包括:协议的版本号和应答状态码 :HTTP/1.1 200 OK,响应头信息来记录服务器自己的数据,被请求的文档内容。最后发送一个空白行来表示头信息的发送到此为结束,接着以Content-Type响应头信息所描述的格式发送用户所请求的实际数据

6、浏览器解析response,并请求其它的资源文件(js、css等)

浏览器接收服务器应答回来的 html 代码和css,和js代码再进行页面的渲染或者接收到应答的文件进行保存等操作

7、浏览器进行渲染界面

根据解析内容渲染呈现给用户

8、四次挥手,断开tcp连接

断开不一定是在最后一步,根据是否是长连接,来决定什么时候断开

一般情况下,服务器向浏览器发送了响应数据,就可关闭 TCP 连接,但如果浏览器或者服务器在其头信息加入了这行代码:Connection:keep-alive,即代表长连接,可以先不断开连接。

TCP连接在发送后将仍然保持打开状态,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽

在这里插入图片描述

三、总结&扩展

在这里插入图片描述

完整的http请求包含:

浏览器发起请求-> 解析域名得到ip进行TCP连接 ->浏览器发送HTTP请求和头信息发送->服务器对浏览器进行应答,响应头信息和浏览器所需的内容-> 关闭TCP连接或保持-> 浏览器得到数据数据进行渲染


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • 独立服务器和云服务器有什么区别和优缺点
    1、性能方面的比较 独立服务器与云服务器最明显的区别可能就是性能差异了。独立服务器通常采用硬件设备,只为一个客户提供服务,因此
  • http请求过程介绍解析
    一、http请求的完整过程简述 1、域名解析:使用DNS协议进行域名解析 2、建立连接:发起TCP三次握手 3、发起http请求:建立TCP连接成功后,浏
  • L2TP和PPTP的区别介绍
    一、相关知识铺垫: (1)虚拟隧道协议 一种通过公共网络的基础设施,在专用网络或专用设备之间实现加密数据通信的技术,通信的内容
  • 常见网络协议总结
    计算机网络五层模型回顾 应用层:为用户为用户的应用进程提供网络通信服务 协议DNS协议、HTTP协议、HTTPS协议 传输层:负责两台主机之间
  • windows2003 DHCP服务器配置图文教程

    windows2003 DHCP服务器配置图文教程
    一、导入光驱 二、安装可选的windows组件 三、双击打开网路服务,安装DHCP/DNS服务器。 注:服务器地址要固定,因此安装时要规划好网络。
  • Ansible Galaxy命令的使用实践示例介绍
    Ansible Galaxy 是 Ansible 官方 Roles 资源库(galaxy.ansible.com),在 Galaxy 平台上所有人可以分享 ansible 功能模块 为什么要用 ansible-galaxy 作为一个入
  • 云服务器(Linux)安装部署Kafka的详细过程

    云服务器(Linux)安装部署Kafka的详细过程
    云服务器(Linux)安装部署Kafka 前期准备 kafka的安装需要依赖于jdk,需要在服务器上提前安装好该环境,这里使用用jdk1.8。 下载安装包 官网地
  • 网站https访问是443端口还是433端口

    网站https访问是443端口还是433端口
    https默认端口号是443 https是以安全为目标的http通道,简单讲是http的安全,即http下加入SSL层,https的安全基础是SSL,因此加密权的详细内容就
  • 关于HTTPS端口443的技术介绍(什么是443端口)
    443端口是用来保证客户和服务器之间的通信安全。 本文将重点介绍HTTPS 443端口,它是如何工作的,它保护什么,以及为什么我们需要它。
  • ElasticSearch事件查询语言EQL操作
    EQL的全名是Event Query Language (EQL)。事件查询语言(EQL)是一种用于基于事件的时间序列数据(例如日志,指标和跟踪)的查询语言。在Elast
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计