计算机网络学习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(安全传输层协议)协议加密
相关推荐
初学者_xuan15 小时前
Linux程序与进程和进程程序基础以及程序管理(零基础掌握版)
运维·计算机网络·网络安全·零基础·学习方法·linux程序管理
武文斌771 天前
计算机网络:服务器处理多客户端(并发服务器)
网络·计算机网络
不会学习?1 天前
计算机网络
经验分享·笔记·计算机网络
哦你看看2 天前
计算机网络技术(下)
网络·计算机网络
神齐的小马2 天前
计算机网络学习笔记
笔记·学习·计算机网络
superlls4 天前
(计算机网络)JWT三部分及 Signature 作用
java·开发语言·计算机网络
.Shu.4 天前
计算机网络 TLS握手中三个随机数详解
网络·计算机网络·安全
.Shu.5 天前
计算机网络 各版本TLS握手的详细过程
网络·计算机网络
最好的药物是乌梅5 天前
OSI参考模型&TCP/IP模型 二三事
tcp/ip·计算机网络·408·流量控制·osi模型·计算机考研·拥塞控制
谢尔登5 天前
【计算机网络】 IPV4和IPV6区别
运维·服务器·计算机网络