首页 > 其他分享 >HTTP 请求流程

HTTP 请求流程

时间:2024-08-17 20:04:48浏览次数:11  
标签:HTTP 请求 流程 TCP 数据包 连接 服务端

HTTP 的请求流程包括地址解析、封装 HTTP 数据包、封装 TCP 包、建立 TCP 连接、客户端发送请求、服务端响应、服务端关闭 TCP 连接,流程如下:

  1. 地址解析:通过域名系统 DNS 解析服务器域名从而获得主机的 IP 地址。例如客户端的浏览器请求:http://localhost.com:8080/index.html,则可从中分解出协议名、主名、端口、对象路径等
  2. 封装 HTTP 数据包:解析协议名、主机名、端口、对象路径等并结合本机自己信息封装成一个 HTTP 请求数据包
  3. 封装 TCP 包:将 HTTP 请求数据包进一步封装成 TCP 数据包
  4. 建立 TCP 连接:基于 TCP 的三次握手机制建立 TCP 连接
  5. 客户端发送请求:在建立连接后,客户端发送一个请求给服务端
  6. 服务端响应:服务端在接收到请求后,结合业务逻辑进行数据处理。然后向客户端返回相应的响应信息。在响应信息中包含状态行、协议版本号,成功或错误的代码、消息体等内容
  7. 服务端关闭 TCP 连接:服务端在向浏览器发送请求响应数据后关闭 TCP 连接。但如果浏览器或者服务端在消息头中加入了 Connection:keep-alive,则 TCP 连接在请求响响应数据发送后仍然保持连接状态,在下一次请求中浏览器可以继续使用相同的连接发送请求。采用 keep-alive 方式不但减少了请求响应的时间,还节约了网络带宽和系统资源

标签:HTTP,请求,流程,TCP,数据包,连接,服务端
From: https://www.cnblogs.com/Yee-Q/p/18364889

相关文章

  • Scheduler工作流程
    Scheduler的目的React实现Scheuler的目的是想要实现时间切片。时间切片是指:将长任务拆分成多段,每次执行一小段的任务的操作。Scheduler的实现React利用MessageChannel创建出一个port实例,port实例有两个属性port1和port2。如果在Scheduler当中调用port2.postM......
  • Http-only
    基础概念HTTP-only是一个Web应用程序安全特性,用于防止跨站脚本(XSS)攻击。当一个cookie被标记为HTTP-only时,它只能通过HTTP协议进行访问和修改,无法通过客户端脚本(如JavaScript)进行访问。简单使用Set-Cookie:CookieName=CookieValue;SameSite=Strict|Lax|None;......
  • JAVA执行流程
    基本流程Java程序的运行必须经过编写、编译和运行3个步骤:1、编写:是指在Java开发环境中进行程序代码的输入,最终形成后缀名为.java的Java源文件。2、编译:是指使用Java编译器对源文件进行错误排査的过程,编译后将生成后缀名为.class的字节码文件,不像C语言那样生成可执......
  • 请求处理
    基础概念过滤器(Filter):当有一堆请求,只希望符合预期的请求进来。拦截器(Interceptor):想要干涉预期的请求。监听器(Listener):想要监听这些请求具体做了什么。过滤器过滤敏感词汇(防止sql注入)设置字符编码URL级别的权限访问控制压缩响应信息最常见使用的接口是OncePerRequest......
  • SpringMVC处理请求头、响应头、编码行为
    基本知识http协议中,请求行、请求头部分都是采用的ascii编码,是不支持中文的,若携带不支持的字符,需要使用进行编码,比如常见的urlEncode。而请求体是支持任意编码的,通过Content-Type请求头的charset部分来告知服务端请求体使用何种方式编码。响应行、响应头、响应体亦如是。Content......
  • 误闯机器学习(第一关-概念和流程)
    以下内容,皆为原创,实属不易,请各位帅锅,镁铝点点赞赞和关注吧!好戏开场了。一.什么是机器学习        机器学习就是从数据中自动分析获取模型(总结出的数据),并训练模型,去预测数据。    内心独白:就好比我们人从日常生活中,归纳总结得出经验。利用总结的经验去得出......
  • http request-01-XMLHttpRequest XHR 简单介绍
    http请求系列httprequest-01-XMLHttpRequestXHR简单介绍httprequest-01-XMLHttpRequestXHR标准Ajax详解-01-AJAX(AsynchronousJavaScriptandXML)入门介绍AjaxXHR的替代方案-fetchAjaxXHR的替代方案-fetch标准Ajax的替代方案-axios.jshttp请求-04-promise......
  • IHttpClientFactory 解决端口耗尽问题及衍生底层原理
    1.IHttpClientFactory解决端口耗尽问题问题描述:如果不使用IHttpClientFactory,而是为每个请求创建新的HttpClient实例,可能会导致端口耗尽问题。原因:每次创建新的HttpClient实例都会导致新的HttpClientHandler和底层Socket连接的创建,且这些连接在短时间内无法被回......
  • h5直播源码,用户登录流程及权限校验
    h5直播源码,用户登录流程及权限校验今天我们来看一下用户登录的流程前端部分 以一个后台管理系统登录为例:登录篇1.用户输入账号和密码点击登录传给服务器用户名和密码2.服务器验证成功后给客户端传递一个token,并且把这个token存在cookies中,这样下次再向服务器发请......
  • 【网络】UDP回显服务器和客户端的构造,以及连接流程
    回显服务器(EchoServer)最简单的客户端服务器程序,不涉及到业务流程,只是对与API的用法做演示客户端发送什么样的请求,服务器就返回什么样的响应,没有任何业务逻辑,没有进行任何计算或者处理0.构造方法网络编程必须要使用网卡,就需要用到Socket对象创建一个DatagramS......