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

计算机网络学习20250525

应用层协议原理

创建一个网络应用,编写应用程序,这些应用程序运行在不同的端系统上,通过网络彼此通信

  • 不需要在网络核心设备(路由器,交换机)上写应用程序
  • 网络应用程序工作在网络层以下
  • 将应用程序限制在端系统上促进应用程序迅速研发和部署,将复杂问题放到网络边缘

网络应用程序体系架构

  1. C-S:web FTP telnet e-mail

server特点:

  • 总是打开的主机
  • 固定周知的IP地址
  • 数据中心用于创建强大的虚拟服务器

client特点:

  • 与server之间通信
  • 与server可以是间歇的连接
  • 可以使用动态的IP地址
  • client之间彼此不通信
  1. P2P:迅雷
  • 没有永远在线的server
  • 端系统之间直接通信
  • 对等方需要对方提供服务,也向其它对等方提供服务
  • 对等方通信是间隙性的,可以改变IP,管理复杂

进程通信

  1. 进程:运行在端系统上的一个程序
  2. 进程通信:
    同一端系统内两个进程通信使用进程间通信机制——由操作系统确定,由端口号区分
    不同端系统间通信——由端口号和IP地址区分
  • 客户和服务器进程:客户发起通信,服务器等待联系
  • 进程和计算机网络之间的接口:套接字(软件接口,应用程序编程接口API)
    socket是一台主机上应用层与传输层之间的接口
  1. 进程通过套接字发送和接收报文过程:
    发送端进程通过socket将报文推出
    通过运输的基础设施将报文送到对方
    接收端通过socket将报文送给接收端进程
  2. 进程寻址
    标识接收进程:主机IP地址和目的端口号

http

web页面:按照html格式形成超文本文档,包含一个html基本文件和其它对象
超文本:用超链接(URL指针)方式,将各种对象文件(URL寻址)组织在一起
URL:统一资源定位符,包括服务器主机名和对象的路径名
http:超文本传输协议,无状态协议,服务器不保存与过去访问有关的信息

http报文格式

  1. http请求报文
    请求行
    首部行
    空行
    实体主体(可选)
  • 请求行:方法字段/URL字段/HTTP版本字段
  • 方法字段:
    GET:浏览器C向S请求对象,请求对象的URL放在URL字段
    POST:浏览器向S提交表单,加密后放入实体主体中
    HEAD:只请求头部,调试时使用
    PUT:浏览器上传对象到S
    DELETE:浏览器删除S上的对象
  • 首部行:
    host:指明对象所在主机
    connection:close 浏览器高速服务器关闭TCP连接,不使用持续连接
    user-agent:用户代理,浏览器版本
    keep-alive:115,使用持续连接方式,服务器在传完最后一个对象后保持连接115s
  1. http响应报文
    状态行
    首部行
    空行
    实体主体
  • 状态行:http版本字段/状态码/状态信息
    状态码 状态信息:
    200 ok:请求成功
    301 moved permanently:请求对象被永久的转移了,新URL在响应报文的location首部行
    400 bad request
    404 not found
    505 http vision not support
    304 not modified:原缓存文档还可以继续使用
    首部行
    DATE:产生响应报文的时间
    last-modified:对象创建或者最后修改的日期和时间
    content-length:被发送对象的字节数
    时间为GMT时间(比北京时间慢八小时)
    http cookie:
    是发送到用户浏览器并保存在浏览器上的数据,它会在浏览器之后向同一服务器再次发起请求时被携带并发送到服务器上。它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态、记录用户偏好等
    FTP协议:
    文件传输协议是TCP/IP协议组中协议之一
    包含两个部分FTP服务器和FTP客户端
    TCP 端口21:控制连接,传输控制信息,会话断开前一直保持
    TCP 端口20:数据连接,每传一个文件,建立一次,之后关闭
    HTTPS协议:
    安全超文本传输协议,是相当于HTTP+SSL(安全套接层)/TLS(安全传输层协议)协议加密
http://www.xdnf.cn/news/8868.html

相关文章:

  • Kafka 的日志清理策略:delete 和 compact
  • 【windows】终端/命令行显示中文乱码
  • TCP/IP 协议族
  • 人工智能数学基础实验(一):智能推荐系统实战
  • GPU基础知识
  • 06-Web后端基础(java操作数据库)
  • 套索回归与岭回归通俗讲解
  • React从基础入门到高级实战:React 核心技术 - React Router:路由管理
  • 在机器学习中,L2正则化为什么能够缓过拟合?为何正则化等机制能够使一个“过度拟合训练集”的模型展现出更优的泛化性能?正则化
  • 万能密码登录-Post型注入攻击
  • 【AI智能体】Spring AI Tool 从使用到实战详解
  • Function Calling、MCP、A2A:解锁 AI 能力的三大核心技术对比
  • CSS之元素定位
  • 基于Spring Boot的高校科研绩效管理的设计与实现
  • 图解 | 大模型智能体LLM Agents
  • 购物车系统的模块化设计:从加载到结算的全流程拆解
  • 计算机视觉应用 Slot Attention
  • 符合Python风格的对象(覆盖类属性)
  • Python60日基础学习打卡D35
  • Redis 3.0~8.0特性与数据结构全面解析
  • springboot service层无法注入mapper 解决
  • 信奥赛CSP小学五年级动态规划入门
  • Agent模型微调
  • Android应用中设置非系统默认语言(java)
  • 基于Python的全卷积网络(FCN)实现路径损耗预测
  • 网络安全--PHP第二天
  • 【前端设计模式讲解】工厂模式
  • lc hot 100之:多数元素
  • PPT连同备注页(演讲者模式)一块转为PDF
  • 计算机视觉(图像算法工程师)学习路线