了解网络编程

网络编程

软件开发架构

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 协议

  FTP 协议

 

posted @ 2019-08-06 19:44  waller  阅读(210)  评论(0编辑  收藏  举报