当前位置: 首页 > news >正文

浅谈电子商务网站建设与管理的理解创建个人网站

浅谈电子商务网站建设与管理的理解,创建个人网站,锡林郭勒建站,东莞石龙网站建设定制五、OSI 七层模型 模型分层与功能层级名称核心功能7应用层定义数据格式(如 HTTP 协议)6表示层数据编码/解码、加密/解密(如 UTF-8 编码)5会话层建立、维护、终止会话(如 TCP 三次握手)4传输层端到端通信&am…
五、OSI 七层模型
  1. 模型分层与功能
    层级名称核心功能
    7应用层定义数据格式(如 HTTP 协议)
    6表示层数据编码/解码、加密/解密(如 UTF-8 编码)
    5会话层建立、维护、终止会话(如 TCP 三次握手)
    4传输层端到端通信,确保数据完整性(如 TCP/UDP 协议)
    3网络层IP 寻址和路由(如路由器处理 IP 包)
    2数据链路层MAC 地址寻址,数据帧封装(如交换机处理 MAC 地址)
    1物理层物理介质传输二进制数据(如网线传输电信号)
  2. 数据传输流程示例

    • 用户访问网页:

      1. 应用层生成 HTTP 请求:GET /s?wd=你好 HTTP/1.1​
      2. 表示层编码为字节流:...encode('utf-8')​
      3. 传输层添加端口信息(目标端口 80,本地端口随机)
      4. 网络层添加源/目标 IP 地址
      5. 数据链路层封装 MAC 地址
      6. 物理层通过网卡发送数据
  3. 实际开发中的体现

    • 开发者关注层:应用层(HTTP)、传输层(TCP/UDP)
    • 底层自动处理:网络层以下由操作系统和网络设备完成

六、TCP 与 UDP 协议
  1. 核心对比
    特性TCPUDP
    连接方式面向连接(三次握手)无连接
    可靠性可靠传输(ACK 确认、重传机制)尽最大努力交付,不保证可靠性
    速度较慢(需建立连接和确认)极快(无连接开销)
    应用场景文件传输、网页访问实时视频、语音通话
  2. TCP 三次握手与四次挥手

    • 三次握手(建立连接):

      客户端 --> SYN=1, seq=x --> 服务端  
      服务端 --> SYN=1, ACK=1, seq=y, ack=x+1 --> 客户端  
      客户端 --> ACK=1, seq=x+1, ack=y+1 --> 服务端  
      
    • 四次挥手(断开连接):

      客户端 --> FIN=1 --> 服务端  
      服务端 --> ACK=1 --> 客户端  
      服务端 --> FIN=1 --> 客户端  
      客户端 --> ACK=1 --> 服务端  
      
  3. 代码示例

    • TCP 服务端:

      sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
      sock.bind(('127.0.0.1', 8001))
      sock.listen(5)  # 监听连接
      conn, addr = sock.accept()  # 阻塞等待客户端连接
      
    • UDP 服务端:

      server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
      server.bind(('127.0.0.1', 8002))
      data, addr = server.recvfrom(1024)  # 直接接收数据
      

七、粘包问题与解决方案
  1. 粘包原因

    • 发送方多次快速发送小数据包,接收方缓冲区合并读取
    • 网络传输中数据分片重组
  2. 解决方案

    • 定长头部法:

      1. 发送数据前附加固定长度头部(如 4 字节),标明数据长度
      2. 接收方先读头部,再按长度读取完整数据
      # 发送端
      header = struct.pack('i', len(data))  # 4字节头部
      conn.sendall(header + data)# 接收端
      header = conn.recv(4)
      data_length = struct.unpack('i', header)[0]
      data = conn.recv(data_length)
      
  3. 优化策略

    • 动态调整缓冲区大小
    • 使用消息队列分隔数据包

八、阻塞与非阻塞模式
  1. 阻塞模式

    • 特点:accept()​、recv()​、connect()​ 会阻塞线程直到操作完成
    • 适用场景:简单客户端/服务端,无需高并发
  2. 非阻塞模式

    • 启用方法:

      sock.setblocking(False)  # 设置为非阻塞
      
    • 异常处理:操作未完成时抛出 BlockingIOError​,需配合重试机制

    • 适用场景:高并发场景,需结合 IO 多路复用


九、IO 多路复用
  1. 核心机制

    • select:遍历监控的文件描述符,返回就绪的 IO 对象
    • poll:与 select 类似,但无最大文件数限制
    • epoll:基于事件回调,高效处理大量连接(Linux 专属)
  2. 代码示例(select 实现多客户端处理)

    inputs = [server_socket]
    while True:r, _, _ = select.select(inputs, [], [], 0.1)for sock in r:if sock == server_socket:conn, addr = sock.accept()inputs.append(conn)else:data = sock.recv(1024)if data:print(f"Received: {data.decode()}")else:inputs.remove(sock)
    
  3. 适用场景

    • 服务端需同时处理数千连接
    • 客户端需批量发送请求(如爬虫并发下载)
http://www.dtcms.com/a/538092.html

相关文章:

  • 途牛企业网站建设方案建筑招投标网官网
  • 网站添加关键字情感营销的十大案例
  • 地球引力与人工场的差异及人工场功能解析
  • 全网最稳最低价自助下单网站福州做网站的公司
  • 如何建设一个子网站汉中专业网站建设价格
  • 自助免费网站制作品牌网站建设目标
  • mmyolo报错:ValueError: Key img_path is not in available keys
  • 网站对联图片天元建设集团有限公司七公司
  • 专业的网站建设排名网站正在建设中源码
  • 初创业公司做网站常州承接网站建设
  • 腾讯邮箱官网北京seo报价
  • 开发一款连接带有GEM/SECS协议软件的设备(二)
  • 未来之窗昭和仙君(四十一)开发收银系统15k大小——东方仙盟筑基期
  • 关键词搜不到我的网站网页设计与制作教程第四版课后答案
  • 合川建网站如何建立自己音乐网站
  • 域网络,域环境搭建
  • 网站建设比较好公司大中型网站开发流程
  • 石家庄网站建设外包公司2022网页游戏
  • 10.20-10.25微调问答内容(二)
  • 南昌seo网站排名瀑布式wordpress主题
  • 好的做网站公司wordpress福利整站源码
  • 四川广汉市规划和建设局网站国家查企业的网站
  • 外贸云网站建设优秀高端网站建设报价
  • 模板网站的域名是什么意思全屋定制十大名牌价格
  • 企业网站建设问题研究网站 子域名
  • 建设通网站是免费的吗深圳外网站建设
  • ai绘画sd零基础第二弹——提示词基础
  • 公司做网站需要准备什么材料生物技术网站开发
  • 门户网站与官网的区别天津网络推广seo
  • wordpress添加会员标识seo诊断报告