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. API设计中防重放攻击

    HTTPS数据加密是否可以防止重放攻击? 否,加密可以有效防止明文数据被监听,但是却防止不了重放攻击. 防重放机制 我们在设计接口的时候,最怕一个接口被用户截取用于重放攻击.重放攻击是什么呢?就是把你 ...

  2. beanfactory中单例bean的初始化过程(一)

    Date 10.06 pm Point 完成beanfactory中单例bean的初始化 beanFactory.preInstantiateSingletons() 拿到所有的bean定义信息(在 ...

  3. Spring Boot集成JSON Web Token(JWT)

    一:认证 在了解JWT之前先来回顾一下传统session认证和基于token认证. 1.1 传统session认证 http协议是一种无状态协议,即浏览器发送请求到服务器,服务器是不知道这个请求是哪个 ...

  4. Apache中Cookie长度的设置 414 request-uri too large apache

    起因: 今天在调试Ucenter的同步登陆和同步登出的过程中,浏览器突然出现以下错误提示: Your browser sent a request that this server could not ...

  5. Bigo的Java面试,我挂在了第三轮技术面上.........

    背景 前段时间家里出了点事,辞职回家待了一段时间,处理完老家的事情后就回到广州这边继续找工作,大概是国庆前几天我去面试了一家叫做Bigo(YY的子公司),面试的职位是面向3-5年的Java开发,最终自 ...

  6. 来玩一局CS吗?UE4射击游戏的独立服务器构建

    前言   根据UE4官方文档的介绍,UE4引擎在架构时就已经考虑到了多人游戏的情景,多人游戏基于客户端-服务器模式(CS模式).也就是说,会有一个服务器担当游戏状态的主控者,而连接的客户端将保持近似的 ...

  7. MUI错误信息:系统已经存在较高版本,些安装包无法安装。

    MUI 混合开发APP 版本更新问题. 错误信息: 解决方法: manifest.json->version->code 这个值需要累加,version->name 是用于显示的,这 ...

  8. springboot---发送邮件

    1.pom.xml配置 <dependencies> <dependency> <groupId>org.springframework.boot</grou ...

  9. vw vh 的概念

    视口单位(Viewport units) 什么是视口? 在桌面端,视口指的是在桌面端,指的是浏览器的可视区域:而在移动端,它涉及3个视口:Layout Viewport(布局视口),Visual Vi ...

  10. [考试反思]1005csp-s模拟测试60:招魂

    最近总是好一场烂一场的.没有连续两场排名波动小于20的... 没人管.反正大脸一点脸没有就又AK了. 但是T3爆零这种事情吧... 爆搜不是很难打,但是想优化想了半天剩的时间不够结果赶忙打出来了,然后 ...