ch2应用层--计算机网络期末复习

2.1应用层协议原理

网络应用程序位于应用层

开发网络应用程序:

写出能够在不同的端系统上通过网络彼此通信的程序

2.1.1网络应用程序体系结构分类:

客户机/服务器结构

服务器: 
总是打开(always-on)
具有固定的、众所周知的IP地址
主机群集常被用于创建强大的虚拟服务器
客户机:
无需总打开,可间断的同服务器连接
可拥有动态IP地址
客户机相互之间不直接通信
如:搜索引擎、电子邮件 

P2P体系结构

没有总是打开的服务器
任意一对主机直接相互通信
对等方间歇连接并且可以改变IP地址

优点:self-scalability自组织
      cost effective划算的,效率高
缺点:难以管理
      安全性 

混合的体系结构

2.1.2 进程通信

进程:运行在端系统中的程序
同一主机上的两个进程通过内部进程通信机制进行通信
不同主机上的两个进程通过计算机网络交换报文相互通信

注意:具有P2P体系结构的应用程序,同时有客户机进程和服务器进程。既发送又接收。

进程与网络的接口是套接字
通过套接字,进程在网络上发送和接收报文
进程类比于房屋中的人,套接字类比于门
发送进程把报文从门发送出去
接收进程把报文从门接收进来

套接字又叫做网络应用程序编程接口API 
用户通过API对传输层的控制,但仅限于:
        (1) 选择传输协议,如TCP或UDP; 
      (2) 能设定几个参数,如最大缓存、最大报文长度等

进程标识:包括IP地址和端口号(IP,port),通过这个标识才能找到目的主机上的对应进程

2.1.3应用程序的运输要求以及协议选择




一般需要实时的,会对传输时延、带宽要求较高,一般使用UDP。

TCP主要是可靠

UDP就是实时

2.2 Web应用和HTTP协议


网页:(Web页,或称文档)由许多对象组成。 
对象:就是文件,可以是HTML文件, JPEG图像, Java applet, 音频文件…
多数网页由单个基本HTML文件和若干个所引用的对象构成
每个对象通过一个URL(Uniform Resource Locator统一资源定位符)寻址

2.2.1 HTTP概述

HTTP: 超文本传输协议 HyperText Transfer Protocol
Web的应用层协议,建立在TCP运输层协议上
client/server

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/19089.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MongoDB CRUD操作:快照查询

MongoDB CRUD操作:快照查询 文章目录 MongoDB CRUD操作:快照查询对比本地和快照的读关注举例从相同的时间点运行查询从过去某个时刻读取数据的一致状态 配置快照保留时间磁盘空间和历史记录 使用快照查询可以读取最近某个时间点的数据,而且从…

基于51单片机的温控风扇的设计–仿真设计

可实现通过DS18B20测量当前环境温度 可实现通过温度自动控制风扇转速 可实现通过按键设置不同风速对应的温度 可实现通过按键切换自动、手动模式 可实现在手动模式下通过按键调整风扇转速 可实现通过LCD1602显示温度、风扇转速挡位、自动/手动模式

【C++】模拟实现string类

🦄个人主页:修修修也 🎏所属专栏:C ⚙️操作环境:Visual Studio 2022 目录 一.了解项目功能 二.逐步实现项目功能模块及其逻辑详解 🎏构建成员变量 🎏实现string类默认成员函数 📌构造函数 📌析构函数…

k8s 全面掌控日志系统

概述 为了提高系统运维和故障排查的效率, 日志系统采用 ELK(Elasticsearch、Logstash、Kibana)技术栈,通过 FileBeats 作为日志收集器,将来自不同节点的日志数据汇总并存储在 Elasticsearch 中,最终通过 K…

创建一个新的Spring Security应用程序,并使用JDBC连接数据库

创建一个新的Spring Security应用程序,并使用JDBC连接数据库 在这个教程中,我们将学习如何创建一个新的Spring Security应用程序,使用JDBC连接数据库以获取用户信息并进行认证。我们还将学习如何配置Spring Security以从数据库中获取用户和权…

Vue3使用Composition API实现响应式

title: Vue3使用Composition API实现响应式 date: 2024/5/29 下午8:10:24 updated: 2024/5/29 下午8:10:24 categories: 前端开发 tags: Vue3CompositionRefsReactiveWatchLifecycleDebugging 1. 介绍 Composition API是Vue.js 3中新增的一组API,用于在组件中组…

SQL 语言:嵌入式 SQL 和动态 SQL

文章目录 基本概述嵌入式 SQL动态 SQL总结 基本概述 嵌入式SQL和动态SQL是两种在应用程序中嵌入和使用SQL语句的方法。它们都允许开发人员在编程语言中编写SQL语句,以便在应用程序中执行数据库操作。然而,这两种方法在实现方式、性能和灵活性方面存在一…

Java数据结构与算法(红黑树)

前言 红黑树是一种自平衡二叉搜索树,确保在插入和删除操作后,树的高度保持平衡,从而保证基本操作(插入、删除、查找)的时间复杂度为O(log n)。 实现原理 红黑树具有以下性质: 每个节点要么是红色&#…

go语言学习之旅之Go结构体

在Go语言中,结构体(struct)是一种用户定义的数据类型,用于组合不同类型的数据项。结构体可以包含其他结构体或基本数据类型的字段。以下是关于Go语言结构体的基本知识: 定义结构体: package mainimport &…

Python 之微信指数小程序数据抓取

Fiddler安装和设置 安装 Fiddler 安装包可以从这里获取,如果失效了可以自己网上找一个安装。 链接:https://pan.baidu.com/s/1N30BoDWm2_dBL8i8GRzK5g?pwd1znv 提取码:1znv 然后就是点击安装就好了,没什么好多说的。 启用…

刷代码随想录有感(83):贪心算法——最大子数组和

题干&#xff1a; 代码&#xff1a; class Solution { public:int maxSubArray(vector<int>& nums) {int res INT_MIN;int count 0;for(int i 0; i < nums.size(); i){count nums[i];if(count > res) res count;if(count < 0)count 0;}return res;} …

【创作活动】探索 GPT-4o:下一代语言模型的技术革命

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

HTTP报文

HTTP报文 报文流 HTTP报文是在HTTP引用程序之间发送的数据块&#xff0c;这些数据块以一种文本形式的元信息开头&#xff0c;这些信息描述了报文的内容和含义&#xff0c;后面跟着可选的数据部分&#xff0c;这些报文在客户端&#xff0c;服务器和代理之间流动。 报文流入源…

git更改本地项目关联到新仓库

删除现在远程关联的仓库 git remote rm origin链接新仓库 git remote add origin url(需要关联的新仓库地址)代码提交到远程仓库master分支 git push --set-upstream origin master本地分支更新同步至远程仓库 比如本地有dev分支 git push origin dev:dev

前端项目开发,3个HTTP请求工具

这一小节&#xff0c;我们介绍一下前端项目开发中&#xff0c;HTTP请求会用到的3个工具&#xff0c;分别是fetch、axios和js-tool-big-box中的jsonp请求。那么他们都有哪些小区别呢&#xff1f;我们一起来看一下。 目录 1 fetch 2 axios 3 js-tool-big-box 的 jsonp 请求 …

拷贝构造、移动构造、拷贝赋值、移动赋值

最近在学习C的拷贝构造函数时发现一个问题&#xff1a;在函数中返回局部的类对象时&#xff0c;并没有调用拷贝构造函数。针对这个问题&#xff0c;查阅了一些资料&#xff0c;这里记录整理一下。 调用拷贝构造函数的三种情况&#xff1a; ① 用一个类去初始化另一个对象时&a…

【数据结构与算法 | 基础篇 | 队列篇】力扣102, 107

1. 力扣102 : 二叉树的层序遍历 (1). 题 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3]…

对于高速信号完整性,一块聊聊啊(18)

本文摘录一篇Allegro进行后仿真的完整流程,可能allegro版本有点老,但整个过程还是描述比较详细的。 目录 1、获取IBIS模型 1.1模型下载 1.2检查IBIS模型 1.3IBIS转换为DML 1.4保存DML模型 2、仿真准备 2.1叠层设置 2.2电源网格设置 2.3仿真库配置 3、仿真 3.1拓扑…

刷爆leetcode第六期

题目一 用队列实现栈 请你仅使用两个队列实现一个后入先出&#xff08;LIFO&#xff09;的栈&#xff0c;并支持普通栈的全部四种操作&#xff08;push、top、pop 和 empty&#xff09;。 实现 MyStack 类&#xff1a; void push(int x) 将元素 x 压入栈顶。 int pop() 移除…

【漏洞复现】大华智能物联综合管理平台 fastjson远程代码执行漏洞

0x01 产品简介 大华ICC智能物联综合管理平台对技术组件进行模块化和松耦合&#xff0c;将解决方案分层分级&#xff0c;提高面向智慧物联的数据接入与生态合作能力。 0x02 漏洞概述 由于大华智能物联综合管理平台使用了存在漏洞的Fastson组件,未经身份验让的攻击者可利用 /e…