**1. 网络协议**
规定了计算机之间连接的物理、机械(网线与网卡的连接规定)、电气(有效电平范围)的特征和计算机之间的相互寻址规则、数据发送冲突的解决、长的数据如何分段传送和接收等。
<br/>
常用的几种网络协议:IP协议、TCP协议、UDP协议、HTTP协议、HTTPS协议。
<br/>
**2. IP协议**
(1)Internet依靠TCP/IP协议来实现全球范围内不同的硬件结构、不同的操作系统、不同的网络系统的互联。
(2)TCP/IP全称为:Transmission Control Protocol/Internet Protocol。
(3)IPv4地址:每台计算机都有IP地址,用来代表计算机在网络上的位置。IPv4地址格式为 x1.x2.x3.x4 ,它们的范围在[0~255],如百度服务器主机(域名为:www.baidu.com)的IPv4地址为: 14.215.177.38
(4)IPv6地址:因为IPv4地址已经饱和,所以现在开始尝试使用IPv6地址,IPv6地址到2020年/6月/16依然未普及。IPv6地址格式 x1:x2:x3:x4:x5:x6:x7:x8,它们的范围在[0, 65535],如 1080:0:0:0:8:800:200C:417A
(5)IP地址的唯一性:电脑的IP地址是可以修改的,所谓的IP地址的唯一性是指:只要同一个IP地址不被两台同时上线的电脑使用,就不会冲突,这个IP地址不是某台电脑永久的身份。
(6)特殊的IPv4地址:127.0.0.1 。该地址不进行网络传输,代表的是计算机本身。
(7)TCP/IP模式是一种层次结构
:-: ![](https://img.kancloud.cn/55/3e/553ede837e2fa4087f50a2d38f7314f1_320x289.png)
<br/>
**3. TCP协议与UDP协议的比较**
(1)传输控制协议(Transmission Control Protocol,TCP)与用户数据报协议(User Datagram Protocol,UDP)都属于TCP/IP协议栈。
(2)TCP协议:提供两台计算机之间的数据传送和接收。数据传输可靠,保证数据送达的完整性,保证数据的输入输出顺序是一致的,传输速度和时效低,适用于要求数据准确性较高的场合。如拨打电话,必须对方接收才能够进行两个人之间的通话。
(3)UDP协议:提供在若干个计算机之间进行数据传送和接收。数据传输不可靠,不保证数据100%送达(但不会严重影响他们之间的通信),不保证数据的输入输出顺序是一致的,传输速度和时效快,适用于数据准确性要求不高的场合。如网络聊天室、在线影片等。<mark>注意:</mark> 一些防火墙和路由器会设置成不允许UDP数据包传输,因此,若遇到UDP连接方面的问题,应先确定所在的网络是否允许UDP协议。
<br/>
**4. HTTP协议和HTTPS协议的比较**
转载自:https://baijiahao.baidu.com/s?id=1632128727220873755&wfr=spider&for=pc
<br/>
HTTP和HTTPS是什么?
我们使用浏览器访问一个网站页面,在浏览器的地址栏中我们会看到一串URL,如图
![](https://img.kancloud.cn/2c/f7/2cf736ec4ce2194b9246dcde5973d821_558x114.jpeg)
<br/>
网站的URL会分为两部分:通信协议和域名地址。
域名地址:都很好理解,不同的域名地址表示网站中不同的页面,而通信协议,简单来说就是浏览器和服务器之间沟通的语言。网站中的通信协议一般就是HTTP协议和HTTPS协议。
<br/>
HTTP协议是一种使用明文数据传输的网络协议。一直以来HTTP协议都是最主流的网页协议,但是互联网发展到今天,HTTP协议的明文传输会让用户存在一个非常大的安全隐患。试想一下,假如你在一个HTTP协议的网站上面购物,你需要在页面上输入你的银行卡号和密码,然后你把数据提交到服务器实现购买。假如这个适合,你的传输数据被第三者给截获了,由于HTTP明文数据传输的原因,你的银行卡号和密码,将会被这个截获人所得到。现在你还敢在一个HTTP的网站上面购物吗?你还会在一个HTTP的网站上面留下你的个人信息吗?
:-: ![](https://img.kancloud.cn/93/52/9352805982ed1107e435c181f0147130_311x227.jpeg)
<br/>
其实如果你足够细心,你会发现现在很多大型互联网网站,如百度、淘宝、腾讯很早就已经把HTTP换成HTTPS了。
:-: ![](https://img.kancloud.cn/ed/89/ed8912bd110ddbdd01f8e7d30988903b_391x80.jpeg)
而假如你访问的是一个HTTPS网站时,情况却是完全不一样。你会发现浏览器的地址栏会变成绿色,企业名称会展示在地址栏中,地址栏上面还会出现一把<mark>安全锁</mark>的图标。这些都会给与用户很大的视觉上的安全体验。以下是EV证书在不同浏览器中的展现。
![](https://img.kancloud.cn/13/ee/13ee48a749a8c0e35cfa77d41c1b4e9c_640x329.jpeg)
除了浏览器视觉上不同以外,HTTPS网站和HTTP网站还有一个很重要的区别,就是对搜索排名的提升,这也是很多站长所关注的地方。
<br/>
百度和谷歌两大搜索引擎都已经明确表示,HTTPS网站将会作为搜索排名的一个重要权重指标。也就是说HTTPS网站比起HTTP网站在搜索排名中更有优势。
<br/>
HTTPS网站相比起HTTP网站拥有着多种的优势,HTTP明显已经不能适应当今这个互联网时代,可以预见到HTTP在不久的将来将会全面被HTTPS所取代。
- 网络通信
- 网络协议
- 端口和套接字
- TCP网络程序
- UDP网络程序
- 多线程聊天室
- 多线程
- 线程相关概念
- 线程实现方式
- 中断线程
- 线程生命周期
- 线程优先级
- 优先级规则
- 案例演示
- 线程同步机制
- 线程同步机制
- synchronized关键字
- ReentrantLock类
- Condition类
- 监视器概念
- volatile关键字
- final变量
- 死锁
- 线程局部变量
- 读/写锁
- 原子类
- 阻塞队列
- 工作规则
- 案例演示
- 常用阻塞队列
- 线程安全集合
- 高效的映射/集/队列
- 并发集视图
- 写数组的拷贝
- Arrays类的并行数组算法
- 同步包装器
- Callable与Future
- 执行器
- 线程池
- 预定执行
- 控制任务组
- Fork-Join框架
- 同步器
- 同步器
- 信号量
- CountDownLatch类
- CyclicBarrier类
- Exchanger类
- SynchronousQueue类
- 线程与Swing
- Swing与线程问题
- 两个原则
- Swing工作线程
- 单一线程规则
- 文件IO
- File类
- 文件输入输出
- ZIP压缩文件
- 集合
- 集合框架
- 集合接口
- 集合实现类
- 线程安全集合
- 集合算法
- 迭代器
- 集合排序
- JDBC
- JDBC是什么
- JDBC-ODBC桥
- JDBC驱动程序类型
- JDBC常用类与接口
- 数据库操作
- 连接数据库
- 增/删/改/查/预处理
- 事务
- 批处理
- commons-dbutils工具
- 安全问题
- Jedis
- 使用Jedis操作Redis数据库
- JSON转换
- 使用连接池
- 案例
- 单例破坏
- 单例定义
- 单例实现方式
- 懒汉式实现单例
- 饿汉式实现单例
- 单例破坏
- 类的单例破坏
- 枚举的单例破坏
- 克隆
- 克隆是什么
- 浅克隆
- 深克隆
- 注解
- 注解是什么
- 三大注解
- 内置注解
- 元注解
- 自定义注解
- NIO
- 相关概念
- BIO/NIO/AIO
- 多线程编程
- 线程同步
- 线程通信
- NIO
- NIO三大核心组件
- NIO网络编程
- NIO文件读写
- AIO
- Java8新特性
- Lambda表达式
- 方法引用
- 函数式接口
- 默认方法
- 什么是默认方法
- 默认方法语法格式
- 多个同名的默认方法问题
- 静态默认方法
- 默认方法实例
- Stream
- Stream是什么
- Stream示例
- Optional容器
- 新的日期时间API
- Base64
- SPI
- SPI是什么
- SPI与API的区别
- 常见场景
- 使用SPI需遵循的约定
- SPI使用步骤