了解网络编程

时间:2019-08-06
本文章向大家介绍了解网络编程,主要包括了解网络编程使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

网络编程

软件开发架构

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

原文地址:https://www.cnblogs.com/waller/p/11311362.html