了解网络编程
网络编程
软件开发架构
c/s架构(client/server)
c:客户端
s:服务端
d/s架构(browser/server)
d:浏览器
s:服务端
服务端:24小时不间断提供服务,谁来服务谁
客户端:什么时候想体验服务就去找心意的服务端寻求服务
b/s架构本质也是c/s架构
ps:手机端看上去c/s架构比较火,实际上b/s已经崛起,微信支付宝都在做一件事:统一接口
学习网络编程就可以开发一个c/s架构的软件
学习并发 数据库 django 就可以开发一个b/s架构软件
实现远程通信的条件
一.物理连接介质
计算机与计算机之间要想实现远程通信的基本条件
二.OSI 协议
计算机与计算机之间要想实现远程通信的公共标准
OSI 七层协议 :应用层 表示层 会话层 传输层 网络层 数据链路层 物理连接层
1.物理连接层
基于电信号传输的二进制数据
2.数据链路层
1.规定了电信号的分组方式
2.规定了任何一台介入互联网的计算机都有必须有一块网卡,没块网卡上刻有独一无二的编号
12位16进制数 也叫mac地址 前六位是厂商编号 都六位是流水编号
物理连接层 + 数据链路层 也被称为:以太网协议(局域网)
3.网络层
IP 协议: 规定了只要介入互联网的计算机都必须有一个IP地址
ip地址的特点:点分十进制
ip地址最小: 0.0.0.0 最大:255.255.255.255
ip地址版本:IPV4 / IPV6
ip地址是动态分配的
4.传输层
TCP/UDP 都是基于 端口(port) 工作的协议
TCP协议: 流式协议 / 可靠协议 基于TCP协议通信 必选先建立双向通道
三次分手
四次握手
TCP的可靠性
计算机与计算机之间其实是计算机上的应用程序之间的通信
端口(port): 用来唯一标识一台计算机上的某个应用程序
端口号范围:0-65535 建议是有8000之后的端口号
操作系统默认使用的端口号 0-1024
MySQL 默认端口 3306
Redis 默认端口 6379
Django 默认端口 8000
flask 默认端口 5000
端口号是动态分配的
ip + port : 唯一标识介入互联网的一台计算机上的某个应用程序
5.应用层
HTTP 协议
原文地址:https://www.cnblogs.com/waller/p/11311362.html
- mysql主从复制配置
- Spring Cloud系列勘误
- Spring Cloud Stream使用细节
- Redis3 对集群进行重新分片
- Spring Cloud Stream初窥
- jquery事件绑定性能测试
- Spring Cloud Bus整合Kafka
- 图解Mac下如何安装管理MySQL
- Spring Cloud Bus整合RabbitMQ
- 结合Scikit-learn介绍几种常用的特征选择方法(下)
- Spring Cloud Bus之RabbitMQ初窥
- 结合Scikit-learn介绍几种常用的特征选择方法(上)
- 判断图片是否加载完成
- Spring Cloud Config客户端配置细节
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- jQuery点击切换增加和删除class类
- Vue使用props和emit父子组件通信
- 听说Mysql你很豪横?-------------呕心沥血深入解析mysql备份与恢复!!!
- 排障集锦:九九八十一难之第十难!mysq备份恢复,Could not read entry at offset *: Error in log format or read error.
- Vue使用ref父子组件通信
- 听说Mysql你很豪横?-------------MySQL5.7主从同步
- 听说Mysql你很豪横?-------------MySQL5.7主从复制!读写分离!
- Vue兄弟组件传值
- Vue设置浏览器的标题title和图标icon
- VantUI封装自定义Tabbar路由跳转
- 听说Mysql你很豪横?-------------分分钟带你玩转SQL高级查询语句(常用查询,正则表达式,运算符)
- jQuery实现点击添加样式同胞移除样式
- 微信小程序生命周期
- 听说Mysql你很豪横?-------------分分钟带你玩转SQL高级查询语句(库函数,存储过程)
- 微信小程序下拉刷新上拉加载