理解和区分,TCP,HTTP,Socket,端口,连接数,并发和 QPS

概述

这篇文章主要介绍一些常见且容易混淆的概念

TCP

TCP是传输层的协议,也是一种封包格式,TCP协议按这个格式封装成IP包,发送到网络中进行传输

TCP报文格式

我们看到TCP报文源端口和目的端口都是16位,0-65535,这个是计算机系统端口数最大65535的原因.

TCP三次握手

这方面的资料太多,这里就不赘述了
http://www.jianshu.com/p/ef892323e68f

HTTP

HTTP是TCP协议之上的一层封装

HTTP请求报文格式

HTTP响应报文格式

Socket

Socket其实是操作系统提供的用于操作网络传输协议(TCP,UDP等)的API,相当于操作系统负责把TCP,UDP等协议翻译成IP包发送和接收

端口

我们通常谈论的端口,一般是指Socket端口,Socket可以操作多种协议,包括UDP,TCP等

连接数

通常连接数指Socket连接数,注意Socket区分一个连接的唯一标识是:
源IP-源端口-传输协议-目的IP-目的端口

所以连接数不等于端口数,并没有65535限制

并发

我们使用ab测试的时候,会用到 -c 参数,concurrent,这个是同时发起的请求数,不等于QPS

QPS

QPS是每秒处理的请求数

本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由系统于 5年前 自动加精
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1

这是一个深坑

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!