HTTP连接的几种方式

串行连接

此时一个连接对应一个请求,一个请求完成后才会开始下一个请求。完成的标志是服务端的数据到达客户端,客户端读取响应数据后关闭连接,然后发起下一个连接。

持久化连接

此时一个连接可以发送多个请求,一个请求完成后,并不会关闭连接,而是等待下一个请求执行。

管道化连接

持久化连接下的一种方式,客户端会将多个请求排队,在一个连接上发送给服务器,和持久化连接不同的是,管道化连接并不会等一个请求完成后再发送下一个请求,而是在前一个请求已发送出去,没有收到响应之前就会发送下一个请求。

TCP连接

HTTP连接或者说协议位于TCP的上一层,它的连接行为都要通过TCP层实现,而TCP层由操作系统控制,对于HTTP程序(在客户端是浏览器)来说,就是操作系统提供的一系列SOCKET API。
HTTP发送的请求数据会先到达socket的缓冲区,然后再发送到服务器的socket缓冲区,服务器的web程序会从缓冲区读取数据。

总结

对于串行连接,副作用不多,但性能是个大问题;持久化连接和管道连接会带来性能的提升,但副作用是个严重的问题。
这里的副总用指的是TCP连接突然被关闭带来的不好的后果,如果一次请求(一个事务),不管执行一次还是多次,得到的结果都相同,这个请求就是幂等的。对于非幂等请求,一定不能自动重试发送。

HTTP几种连接方式相关推荐

  1. oracle Hash Join及三种连接方式

    在Oracle中,确定连接操作类型是执行计划生成的重要方面.各种连接操作类型代表着不同的连接操作算法,不同的连接操作类型也适应于不同的数据量和数据分布情况. 无论是Nest Loop Join(嵌套循 ...

  2. GP两种连接方式性能测试

    GP两种连接方式性能测试 Pivotal java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedSta ...

  3. arcserver连接oracle,ArcSDE的二种连接方式(应用服务器连接,直接连接)

    ArcSDE的二种连接方式(应用服务器连接,直接连接) (2013-08-26 09:28:42) 以oracle数据库为例说明: 解释一: ArcSDE的二种连接方式--估且称为客户端负载连接方式和 ...

  4. Jdbc连接mysql的五种连接方式

    一:五种连接方式 直接上码 package com.wyjedu.jdbc;import com.mysql.jdbc.Driver;import java.io.FileInputStream; i ...

  5. 81、通过secureCRT连接虚拟机时几种连接方式的不同

    通过secureCRT连接虚拟机时几种连接方式的不同 1.网桥模式 通过虚拟机直接连接到外部网络. 这种方式最简单,直接将虚拟网卡桥接到一个物理网卡上面,和linux里面一个网卡绑定两个不同地址类似, ...

  6. 项目案例模板之jdbc两种连接方式

    项目案例模板之jdbc两种连接方式 第一种连接方式 JDBCUtils.java package jdbc;​import org.junit.jupiter.api.Test;​import jav ...

  7. Kafka结合Spark-streaming 的两种连接方式(AWL与直连)

    kafka结合spark-streaming的用法及说明之前博客有些,这里就不赘述了. 这篇文章说下他们结合使用的两种连接方式.(AWL与直连) 先看一张图: 这是kafka与streaming结合的 ...

  8. VB与各数据库的几种连接方式

    VB与各数据库的几种连接方式 -.用DAO控件连接数据库 1.与Access2000数据库连接 Private Sub Command1_Click() '也可直接在控件属性中设置以下各项但在控件属性 ...

  9. 锚链常见的几种连接方式

    锚链常见的几种连接方式 有档锚链由锚端链节.末端链接和若干中间链节组成,链节与链节之间用连接卸扣连接. 常用连接方式如下 锚端链节 1.普环(Common Link,C)+......+普环(Comm ...

  10. 分享圆形连接器的四种连接方式

    圆形连接器是连接器的一类,通常由插头和插座组成. 当插头和插座插在一起时,电路中的电流就会流动. 当插头和插座分开时,电流就会流动. 自动断开. 在圆形连接器中,插座是固定的,称为固定端连接器,插头称 ...

最新文章

  1. 王者荣耀AI绝悟如何选英雄?腾讯AI Lab新研究揭秘
  2. Netty中的线程处理EventLoop
  3. 正则表达式注意事项以及常用方法
  4. UnityShader RenderTypeQueue 渲染顺序
  5. [css] 重置(初始化)css的作用是什么?
  6. python中扑克牌类设计_python中的图像界面设计(二)
  7. Vector使用方法简单整理
  8. java在循环中删除数组元素,在循环Perl中删除数组中的元素
  9. 普通人如何快速翻身?
  10. JavaScript——JQuery原理介绍及模拟
  11. android子线程为什么不能更新ui,Android非UI线程无法更新UI?
  12. 万年历,java如何实现日历查询
  13. webservice wsimport 报错
  14. wps是用python语言开发的吗_wps是用什么语言开发的
  15. 写论文和平时学习时有用的网站
  16. Eclipse下载与安装教程 2020
  17. mapgis 转换为CAD格式图形 显示不出来的处理
  18. EFI和EFI Shell命令简介
  19. js中出现错误:Uncaught TypeError: date.getDay is not a function
  20. SQLServer查询某天数据语法

热门文章

  1. Python中cookie登录基金账户获取账户金额以追加写入方式导出到excel【心血付出】
  2. centos7 LNMP环境搭建
  3. python马尔可夫链_用Python实现马尔可夫链蒙特卡罗
  4. 【Netty】Netty教程——netty入门(二)
  5. 深度学习入门(五十六)循环神经网络——循环神经网络RNN
  6. NLP 新范式 Transformer 模型在计算机视觉领域的应用如何?
  7. Yii初学者必看-yii 表单验证规则
  8. 普通人怎么去赚钱?想实现财务自由只能去创业。丨国仁网络资讯
  9. 按键的长按与短按让蜂鸣器响一下
  10. 2020年,谁的2020不曲折呢