TCP

传输控制协议是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC793定义。

TCP主要特点:

1. 面向连接:
(1)应用程序在使用TCP协议之前,必须先建立TCP连接。
(2)在传输数据完毕后,必须释放已经建立的TCP连接。
2. 每一条TCP连接只能是点对点的(一对一)
3. 提供可靠交付的服务:
   (1)通过TCP连接传送的数据,无差错、不丢失、不重复,并且按序到达;
4. 提供全双工通信:
(1)TCP允许通信双方的应用进程在任何时候都能发送数据。
(2)TCP连接的两端都设有发送缓存和接收缓存,用来临时存放双向通信的数据。
(3)在发送时,应用程序把数据传输给TCP的缓存后,就可以做自己的事,而TCP在合适的时候把数据发送出去。
   (4)在接收时,TCP把收到的数据放入缓存,上层的应用进程在合适的时候读取缓存中的数据。
5. 面向字节流:
(1)TCP中的流指的是流入到进程或从进程留出的字节序列。

UDP

Internet 协议集支持一个无连接的传输协议,该协议称为用户数据报协议。UDP为应用程序提供了一种无需建立连接就可以发送封装的IP 数据报的方法。RFC768描述了UDP

UDP主要特点:

1. 无连接:
(1) UDP是无连接的,即通信时不需要创建连接(发送数据结束时也没有连接可以释放)所以减小了开销和发送数据前的时延。
2. 尽最大努力交付:
(1) 不保证可靠交付,因此主机不需要维护复杂的连接状态。
3. 面向报文:
(1) 只在应用层交下来的报文前增加了首部后就向下交付IP层。
4. 无拥塞控制:
(1) UDP是无阻塞控制的,即使网络中存在阻塞,也不会影响发送端的发送频率。
5. 支持一对一、一对多、多对一和多对多的交互通信;
6. 首部开销小(只有四个字段:源端口、目的端口、长度、检验和):
(1) 只有8个字节,它比TCP的20个字节的首部要短

HTTP

1. http是一个简单的请求-响应协议,它通常运行在TCP之上。
2. 它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
3. 请求和响应消息的头以ASCII码形式给出;而消息内容则具有一个类似MIME的格式。
4. 这个简单模型是早期Web成功的有功之臣,因为它使得开发和部署是那么的直截了当。

http主要特点:

1.支持客户/服务器模式。
2.简单快速:
(1) 客户向服务器请求服务时,只需传送请求方法和路径。
(2) 请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。
(3) 由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 3.灵活:
(1) HTTP允许传输任意类型的数据对象。
(2) 正在传输的类型由Content-Type(Content-Type是HTTP包中用来表示内容类型的标识)加以标记。 4.无连接:
(1) 无连接的含义是限制每次连接只处理一个请求。
(2) 服务器处理完客户的请求,并收到客户的应答后,即断开连接。
(3) 采用这种方式可以节省传输时间。 5.无状态:
(1) HTTP协议是无状态协议。
(2) 无状态是指协议对于事务处理没有记忆能力。
(3) 缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。
(4) 一方面,在服务器不需要先前信息时它的应答就较快。

HTTPS

(简而言之,就是对http进行了加密)

1. HTTPS 是以安全为目标的HTTP通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。
2. HTTPS 在HTTP的基础下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
3. HTTPS 存在不同于HTTP的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。
4. 这个系统提供了身份验证与加密通讯方法。
5. 现在它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面 。

HTTPS主要特点:

1. 基于HTTP协议,通过SSL或TLS提供加密处理数据、验证对方身份以及数据完整性保护

2. 内容加密:
(1) 采用混合加密技术,中间者无法直接查看明文内容 3. 验证身份:
(1) 通过证书认证客户端访问的是自己的服务器 4. 保护数据完整性:
(1) 防止传输的内容被中间人冒充或者篡改

什么是TCP, UDP, HTTP, HTTPS协议?的更多相关文章

  1. 涨知识-VI 基于TCP/UDP的应用层协议

    基于TCP/UDP的应用层协议: 基于TCP: Telnet(Teletype over the Network, 网络电传),通过一个终端(terminal)登陆到网络 FTP(File Trans ...

  2. [na]tcp&udp层各协议小结

    TCP和UDP 传输层功能: 可靠性:序列号.确认号&flag位 有效性:win滑动窗口 这篇目录索引: Tcp可靠性 Tcp流控 Tcp拥塞控制 Tcp运输连接管理 TCP的可靠性和流控 为 ...

  3. TCP/IP,三次握手四次挥手,TCP/UDP , HTTP/HTTPS

    internet:通用名词,由多个计算机网络组成的网络,网络间的通信协议是任意的 Internet:专用名词,当前全球最大的开放计算机网络,采用TCP/IP协议族作为通信的规则.www万维网是广泛应用 ...

  4. 网络编程基础socket 重要中:TCP/UDP/七层协议

    计算机网络的发展及基础网络概念 问题:网络到底是什么?计算机之间是如何通信的? 早期 : 联机 以太网 : 局域网与交换机 广播 主机之间“一对所有”的通讯模式,网络对其中每一台主机发出的信号都进行无 ...

  5. TCP/UDP 协议,和 HTTP、FTP、SMTP,区别及应用场景

    一.OSI 模型 OSI 模型主要作为一个通用模型来做理论分析,而TCP/IP 协议模型是互联网的实际通讯协议,两者一般做映射分析,以下不做严格区分和声明(好吧,比较懒): OSI 整个模型层次大致可 ...

  6. TCP/UDP端口列表

    http://zh.wikipedia.org/wiki/TCP/UDP%E7%AB%AF%E5%8F%A3%E5%88%97%E8%A1%A8 TCP/UDP端口列表     本条目可通过翻译外语维 ...

  7. TCP/UDP 常用端口列表

    计算机之间依照互联网传输层TCP/IP协议不同的协议通信,都有不同的对应端口.所以,利用短信(datagram)的UDP,所采用的端口号码不一定和采用TCP的端口号码一样.以下为两种通信协议的端口列表 ...

  8. TCP/UDP端口列表(WIKIpedia)

    计算机之间依照互联网传输层TCP/IP协议不同的协议通信,都有不同的对应端口.所以,利用短信(datagram)的UDP,所采用的端口号码不一定和采用TCP的端口号码一样.以下为两种通信协议的端口列表 ...

  9. TCP/UDP Linux网络编程详解

    本文主要记录TCP/UDP网络编程的基础知识,采用TCP/UDP实现宿主机和目标机之间的网络通信. 内容目录 1. 目标2.Linux网络编程基础2.1 嵌套字2.2 端口2.3 网络地址2.3.1 ...

随机推荐

  1. MyCat教程二:mysql主从复制实现

      单个mysql数据库在处理业务的时候肯定是有限的,这时我们扩展数据库的第一种方式就是对数据库做读写分离(主从复制),本文我们就先来介绍下怎么来实现mysql的主从复制操作. 1. 读写分离   原 ...

  2. Vulnhub靶场渗透练习(三) bulldog

    拿到靶场后先对ip进行扫描 获取ip  和端口 针对项目路径爆破 获取两个有用文件 http://192.168.18.144/dev/ dev,admin 更具dev 发现他们用到框架和语言 找到一 ...

  3. Github带来的不止是开源,还有折叠的认知

    如果第二次看到我的文章,欢迎右侧扫码订阅我哟~ 

  4. spring security原理-学习笔记2-核心组件

    核心组件 AuthenticationManager,ProviderManager和AuthenticationProvider AuthenticationManager只是一个接口,实际中是如何 ...

  5. Solr分片机制以及Solrcloud搭建及分片操作

    Solr分片描述 分片是集合的逻辑分区,包含集合中文档的子集,这样集合中的每个文档都正好包含在一个分片中.集合中包含每个文档的分片取决于集合的整体"分片"策略. 当您的集合对于一个 ...

  6. day26作业

    1.整理TCP三次握手.四次挥手图 2.基于TCP开发一款远程CMD程序 客户端连接服务器后,可以向服务器发送命令 服务器收到命令后执行,无论执行是否成功,无论执行几遍,都将执行结果返回给客户端 注意 ...

  7. 【原创】go语言学习(十一)package简介

    目录 Go源码组织方式 main函数和main包 编译命令 自定义包 init函数以及执行行顺序 _标识符 Go源码组织方式 1. Go通过package的方式来组织源码 package 包名 注意: ...

  8. win10环境下配置openCV+pycharm+python3.6

    转载地址:https://blog.csdn.net/u010429424/article/details/73649985 Pycharm + OpenCV3 + Python3 配置记录 引言: ...

  9. 求和:fft,表达式化简

    $f(n)=\sum\limits_{i=0}^{n} \sum\limits_{j=0}^{i} S(i,j) \times 2^j \times j!$ 其中$S(i,j)$为第二类斯特林数,公式 ...

  10. mine:dp

    一个小的线性dp.方法很多,八仙过海各显神通. 我想讲一下我的: #include<cstdio> #define mod 1000000007 ];][][],n;//是不是雷,右边有没 ...