理解和区分,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年前 自动加精
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 1

这是一个深坑

6年前 评论

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