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. g_pLog

     g_pLog = new CLog("log");  g_pLog->Enable();  g_pScrLog = new CLog("data"); ...

  2. go-linux环境搭建

    下载 go1..linux-amd64.tar.gz 解压: tar zxvf go1..linux-amd64.tar.gz -C /usr/local 配置环境变量:vim  /root/.bas ...

  3. php能在手机上运行吗

    php能在手机上运行吗? php能在手机上运行.但是需要你的手机具有PHP运行环境. 比如一款安卓手机上面的php运行环境软件:anmpp. ANMPP是Android NGINX MYSQL PGS ...

  4. 去除img下方的空白(vertical-align:middle)——原理

    代码如下:一个简单的div装在一个img中, 然而在预览时却发现这种情况 也就是说img下方会无缘无故出现一个空隙.然后你发现,只要给img元素加上一个属性 vertical-align:middle ...

  5. Spring Boot 配置 - 配置信息加密

    ▶ Spring Boot 依赖与配置 Maven 依赖 <dependency> <groupId>org.springframework.boot</groupId& ...

  6. Knative 实战:如何在 Knative 中配置自定义域名及路由规则

    作者 | 元毅 阿里云智能事业群高级开发工程师 当前 Knative 中默认支持是基于域名的转发,可以通过域名模板配置后缀,但目前对于用户来说并不能指定全域名设置.另外一个问题就是基于 Path 和 ...

  7. Mysql数据库(十一)事务与锁机制

    一.事务机制 1.事务的概念 事务是指一组互相依赖的操作单元的集合,用来保证对数据库的正确修改,保持数据的完整性,如果一个事务的某个单元操作失败,将取消本次事务的全部操作. 比如将A账户的资金转入B账 ...

  8. 时针.html

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. vue事件

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. JS设置和获取盒模型的宽和高

    JS设置和获取盒模型的宽和高 dom.style.width/height:只能取出内联样式的宽度和高度 dom.currentStyle.width/height:获取即时的计算的样式,但是只有IE ...