在一个web程序开发中,一般都有前端和后端之分,前端负责向后端请求数据和展示页面,后端负责接收请求和做出响应发回给前端,他们之间的协作桥梁是API,而API其实就是一个URL,作为HTTP连接的一种具体载体。用户输入URL到浏览器显现给用户页面经过了什么过程呢,关于HTTP请求发起和响应你了解多少

1用户输入URL,浏览器获取到URL

2浏览器(应用层)进行DNS解析(直接输入IP地址既跳过该步骤)

3根据解析出的IP地址+端口,浏览器(应用层)发起HTTP请求,请求中携带(请求头header(也可细分为请求行和请求头)、请求体body)

4请求到达传输层,tcp协议为传输报文提供可靠的字节流传输服务,它通过三次握手等手段来保证传输过程中的安全可靠。通过对大块数据的分割成一个个报文段的方式提供给大量数据的便携传输。

5到网络层, 网络层通过ARP寻址得到接收方的Mac地址,IP协议把在传输层被分割成一个个数据包传送接收方。

6数据到达数据链路层,请求阶段完成

7接收方在数据链路层收到数据包之后,层层传递到应用层,接收方应用程序就获得到请求报文。

8接收方收到发送方的HTTP请求之后,进行请求文件资源(如HTML页面)的寻找并响应报文

9发送方收到响应报文后,如果报文中的状态码表示请求成功,则接受返回的资源(如HTML文件),进行页面渲染。

欢迎大家在评论区评论留言,小编会及时给大家解答疑惑的

发起http请求_关于HTTP请求发起和响应你了解多少相关推荐

  1. 显示请求_学习记录:HTTP的响应与请求amp;Curl

    本文包含四个部分,简要介绍HTTP请求.HTTP响应.chrome开发者查看.与CURL命令. Part1:HTTP请求 1GET请求指定的页面信息,并返回实体主体. 2HEAD类似于get请求,只不 ...

  2. 发送请求_发送soap请求调用wsdl服务

    需求:在客户端发起流程后,向另一个OA系统中发送一条代办服务的通知 Web系统提供了wsdl 1,获取对方web服务的地址: 处理方式,获取我方系统的服务器路径,然后在路径下添加文件配置对方web系统 ...

  3. options请求_前端数据请求的终极方案

    数据请求是我们开发中非常重要的一环,如何优雅地进行抽象处理,不是一件很容易的事情,也是经常被忽略的事情,处理不好的话,重复的代码散落在各处,维护成本极高. 所以我们需要好好梳理下数据请求涉及到哪些方面 ...

  4. python发送json请求_使用Python请求发布JSON

    我需要将JSON从客户端发布到服务器.我正在使用Python 2.7.1和simplejson.客户端正在使用请求.服务器是CherryPy.我可以从服务器获取硬编码的JSON(代码未显示),但是当我 ...

  5. python循环post请求_循环post请求太多

    我正在做一个scrapy spider,我必须发送一个post请求循环才能转到下一个页面,问题是它只发送一个post请求.querystring更改每个页面的元素"currentPage&q ...

  6. 发送请求_发送soap请求调用WSDL

    ");soap.Append("");soap.Append("");soap.Append("XX系统");soap.Appen ...

  7. python urllib发送post请求_python爬虫 urllib模块发起post请求过程解析

    urllib模块发起的POST请求 案例:爬取百度翻译的翻译结果 1.通过浏览器捉包工具,找到POST请求的url 针对ajax页面请求的所对应url获取,需要用到浏览器的捉包工具.查看百度翻译针对某 ...

  8. 浏览器发起请求到服务器处理请求的过程

    前言问题:为什么很多站点第二次打开速度会很快? 前面我们已经说了tcp的一些流程,而http协议是建立在tcp协议基础之上的 http是一种无状态的丶允许浏览器向允许浏览器向服务器获取资源的协议,是W ...

  9. axios 配置loading_vue axios配置 发起请求加载loading请求结束关闭loading

    axios带有请求拦截器,避免在每个请求里面加loading重复操作,可以封装进去,在请求开始时加载loading层,请求结束关闭,loading层用vux的loading加载 axios.js im ...

最新文章

  1. linux 6.8 dns,CentOS6.8下安装DNS服务器
  2. IDEA IntelliJ 开发工具介绍
  3. 中国移动基于ARM/x86服务器的Ceph性能对比
  4. Magicodes.SwaggerUI 已支持.NET Core 3.1
  5. 牛客网刷题知识汇总2
  6. BFC --- Block Formatting Context --- 块级格式化上下文
  7. 【数据挖掘算法与应用】——数据挖掘导论
  8. 网页设计常用字体(转)
  9. java实验指导书 王立新,java实验指导书
  10. 电子商务B2C之未来-刘爽
  11. python--实现汇率转换
  12. 沁园春·长沙 中法对照
  13. 504PHP,php504错误怎么解决_后端开发
  14. 2020同济大学电子与信息工程学院计算机系夏令营机试题目
  15. ADS 修改绘图单位
  16. 下载chromedriver
  17. Android初学之------Android Studio 运行java程序
  18. Python-python程序打包为独立的EXE文件,并配上自定义的图标
  19. 【论文翻译-3】Attention U-Net: Learning Where to Look for the Pancreas
  20. 实验室安全 考试 题库

热门文章

  1. jquery.validate.js的使用小结
  2. discuzx3.2发帖流程
  3. backbone.js入门
  4. Cisco路由器AAA配置
  5. Tizen 2.0 SDK 和源码发布
  6. js中对日期进行加减
  7. 敏捷开发与中医理论系列之一:序言及为何中医教材都是千年古籍
  8. day 03 selenium与Beautifulsoup4的原理与使用
  9. Nacos 发布 v0.8.0 Pre-GA版本,安全稳定上生产 1
  10. oracle 数据库备份恢复