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

计算机网络学习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(安全传输层协议)协议加密

相关文章:

  • [Linux] 利用systemd实现周期性执行任务(DDNS设置案例)
  • 第五项修炼与系统思考
  • Java 虚拟机(JVM)原理与实战:打造高效稳定的运行环境
  • 【C语言】指针全局变量
  • PyTorch Image Models (timm) 技术指南
  • SRS流媒体服务器(7)源码分析之拉流篇
  • 进程守护服务优点
  • 《解锁Claude4:开启AI交互新体验》
  • SRS流媒体服务器之RTC播放环境搭建
  • 蓝桥杯单片机答题技巧
  • log日志最佳实践
  • openssl 使用生成key pem
  • C#创建桌面快捷方式:使用 WSH 实现快捷方式生成
  • 机器学习-模型选择与调优
  • Python Day32 学习
  • LeetCode 每日一题 2025/5/19-2025/5/25
  • 每日算法刷题计划Day15 5.25:leetcode不定长滑动窗口求子数组个数越短越合法3道题,用时1h
  • python 实现从座位图中识别不同颜色和数量的座位并以JSON格式输出的功能
  • GO 语言基础3 struct 结构体
  • C++ 定义一个结构体,用class还是struct
  • 网站如何做快排/推广网页怎么做的
  • 案例平台 网站/广告设计需要学什么
  • wordpress 全屏模板/沈阳seo排名公司
  • 中山网站制作系统/怎么注册自己的网站域名
  • 重庆市官网首页/杭州最好的seo公司
  • 网站 空间 是什么/广州网站设计