应用层

news2024/11/25 15:47:11

应用层

是计算机网络体系的最顶层,是设计和建立计算机网络的最终目的,也是计算机网络中发展的最快的部分

开发一种新的网络应用首先考虑的问题就是网络应用程序在各种端系统上的组织方式和它们之间的关系

客户/服务器方式(C/S方式)

  • 客户是服务请求方,服务器是服务提供方

  • 服务器总是处于运行状态,并等待客户的服务请求.服务器具有固定端口号(例如http服务器的默认端口号为80),而运行服务器的主机也具有固定的IP地址

  • 服务集中型

  • 常出现服务器跟不上众多客户机请求的情况

  • 常用计算机群集构建一个强大的虚拟服务器

我们熟悉的很多网络应用采用的都是C/S方式,例如:万维网WWW、电子邮件、文件传输FTP等

对等方式(P2P方式)

  • 没有固定的服务请求者和服务提供者

  • 服务分散型

  • 可扩展性,系统性能不会因规模的增大而降低

  • 具有成本上的优势

P2P应用主要包括:P2P文件共享、即时通信、P2P流媒体、分布式存储等

动态主机配置协议DHCP

允许一台计算机加入新网络时可自动获取IP地址等网络配置信息而不用手工参与

  • DHCP报文在运输层使用UDP协议封装

  • 未获取到IP地址时使用地址0.0.0.0

域名系统DNS

是因特网使用的命名系统,便于人们记忆的特定含义的主机名,转换为便于机器处理的IP地址

  • 因特网采用层次树状结构的域名结构

  • DNS使用分布在各地的域名服务器来实现域名到IP地址的转换

  • 使用运输层的UDP协议封装,端口号为53

域名解析过程

递归查询

迭代查询

为了提高DNS的查询效率,在域名服务器中广泛的使用了高速缓存,高速缓存用来存放最近查询过的域名以及何处获得域名映射信息的记录

由于域名到IP地址映射关系并不是永久不变的,为了保证高速缓存中内容正确,域名服务器应为每项内容设置计时器删除超过合理时间的项

万维网WWW

万维网使用统一资源定位符URL来指明因特网上任何种类资源的位置

URL一般形式由以下四部分组成:<协议>://<主机>:<端口>/<路径>

超文本传输协议HTTP

HHTP定义了浏览器怎样向万维网服务器请求万维网文档,以及万维网服务器怎样把万维网文档传送给浏览器

HTTP/1.0采用非持续链接方式,每次浏览器要请求一个文件都要与服务器建立TCP连接,当收到响应后就立即关闭连接

HTTP/1.1采用持续链接方式,发送响应后仍然保持连接

使用Cookie在服务器上记录用户信息

  • 早期万维网很简单,用户只是查看存放在不同服务器上的各种静态文档,因此HTTP被设计为一种无状态的协议

  • Cookie提供一种机制使得万维网可以记住用户,Cookie是一种对无状态的HTTP进行状态化的技术

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

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

相关文章

【2023-03-10】JS逆向之美团滑块

提示&#xff1a;文章仅供参考&#xff0c;禁止用于非法途径 前言 目标网站:aHR0cHM6Ly9wYXNzcG9ydC5tZWl0dWFuLmNvbS9hY2NvdW50L3VuaXRpdmVsb2dpbg 页面分析 接口流程 1.https://passport.meituan.com/account/unitivelogin主页接口&#xff1a;需获取下面的参数&#xff0…

Intel 处理器 macOS降级到Big Sur

1 创建可引导的 macOS 安装器 将移动硬盘作安装 Mac 操作系统的启动磁盘。 创建可引导安装器需要满足的条件 移动硬盘&#xff08;格式化为 Mac OS 扩展格式&#xff09;&#xff0c;至少有 14GB 可用空间已下载 macOS Big Sur的安装器 2 下载 macOS macOS Big Sur安装器会…

分享一个OJ平台——浙江工商大学的OJ平台

1.引言 最近是有总喜欢讨论算法题&#xff0c;因为他们在准备考研复试&#xff0c;为什么我不准备呢&#xff1f;这是一个悲伤的故事&#xff0c;刚好自己也有面试遇到只能使用C和C的代码题&#xff0c;他们说这OJ平台相对简单一些&#xff0c;那些刷不来LeetCode可以试试这个&…

【数据分析:工具篇】NumPy(1)NumPy介绍

【数据分析&#xff1a;工具篇】NumPy&#xff08;1&#xff09;NumPy介绍NumPy介绍NumPy的特点数组的基本操作创建数组索引和切片数组运算NumPy介绍 NumPy&#xff08;Numerical Python&#xff09;是Python的一个开源的科学计算库&#xff0c;它主要用于处理大规模的多维数组…

linux安装mysql-8.0.31

1)、下载mysql-8.0.31压缩包两种方式 a.本地下载后上传服务器解压&#xff0c;下载地址&#xff1a;https://downloads.mysql.com/archives/community/ b.服务器使用命令下载&#xff0c;注意&#xff1a;路径在那&#xff0c;就下载到那个位置。 wget https://dev.mysql.com/…

解Bug之路-Nginx 502 Bad Gateway

前言 事实证明&#xff0c;读过Linux内核源码确实有很大的好处&#xff0c;尤其在处理问题的时刻。当你看到报错的那一瞬间&#xff0c;就能把现象/原因/以及解决方案一股脑的在脑中闪现。甚至一些边边角角的现象都能很快的反应过来是为何。笔者读过一些Linux TCP协议栈的源码…

宁盾目录成功对接Coremail邮箱,为其提供LDAP统一认证和双因子认证

近日&#xff0c;宁盾与 Coremail 完成兼容适配&#xff0c;在 LDAP 目录用户同步、统一身份认证及双因子认证等模块成功对接。借此机会&#xff0c;双方将加深在产品、解决方案等多个领域的合作&#xff0c;携手共建信创合作生态&#xff0c;打造信创 LDAP 身份目录服务新样本…

第15章 局部波动率的影响

这学期会时不时更新一下伊曼纽尔德曼&#xff08;Emanuel Derman&#xff09; 教授与迈克尔B.米勒&#xff08;Michael B. Miller&#xff09;的《The Volatility Smile》这本书&#xff0c;本意是协助导师课程需要&#xff0c;发在这里有意的朋友们可以学习一下&#xff0c;思…

Java基础-2023.3.08-Java入门

Java入门 1.人机交互 CMD&#xff08;K1-K5&#xff09; 1.CMD&#xff1a; 1&#xff09;在Windows中&#xff0c;利用命令行的方式操作计算机 2&#xff09;可以打开文件&#xff0c;打开文件夹&#xff0c;创建文件夹等 注&#xff1a; 2.打开CMD …

GEE学习01--配置Python与Jupyter Notebook

1、查看自己电脑有哪些Python 首先&#xff0c;使用Arcgis Pro克隆了Python&#xff0c;原先的Pro自带和clone的Python都要确保在系统变量中设置了Path。 这里可以看到有一个WindowsApps&#xff0c;在Path中要将其至于自己的Python下面&#xff0c;否则的话&#xff0c;在Cm…

JavaScript语法

文章目录一、JavaScript是什么&#xff1f;JavaScript引入方式二、基础语法书写语法输出语句变量数据类型运算符流程控制语句数组函数JS变量作用域对象一、JavaScript是什么&#xff1f; JavaScript&#xff1a;是一门跨平台的脚本语言&#xff0c;用来控制网页行为&#xff0…

目标检测 pytorch复现R-CNN目标检测项目

目标检测 pytorch复现R-CNN目标检测项目1、R-CNN目标检测项目基本流程思路2、项目实现1 、数据集下载&#xff1a;2、车辆数据集抽取3、创建分类器数据集3、微调二分类网络模型4、分类器训练5、边界框回归器训练6、效果测试目标检测 R-CNN论文详细讲解1、R-CNN目标检测项目基本…

IO系统—相关数据结构初始化及调用详解(文件描述符表、文件结构表、文件节点表、设备节点表、内核驱动表等)

文章目录数据结构总述数据结构初始化流程概述各结构初始化及关联说明文件描述符表文件结构&#xff08;文件表&#xff09;文件节点设备节点内核驱动表数据结构总述 本文基于NEW_1 型内核数据结构展开&#xff0c;通过上图可以看出了使用三种数据结构&#xff08;文件描述符表项…

【Linux系统编程】03:文件夹操作

文件夹操作 OVERVIEW文件夹操作一、文件夹操作1.修改目录chdir2.打开目录opendir3.关闭目录closedir4.读取目录readdir5.文件信息获取stat二、案例使用1.ls实现2.stat文件信息获取3.ls -la主要实现4.ls -la重点修改5.ls -la文件字典序6.ls -la文件颜色显示三、补充操作1.文件定…

【SPSS】交叉设计方差分析和协方差分析详细操作教程(附案例实战)

🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 方差分析概述 交叉设计方差分析

hibernate学习(三)

session&#xff1a;类似connection对象是连接对象 一、session&#xff1a; 二、session中的API 三、get和load的区别 四、修改方法&#xff1a; void update&#xff08;object obj&#xff09; 五、删除方法&#xff1a; void delete&#xff08;object obj&#xff0…

案例14-代码结构逻辑混乱,页面设计不美观

目录 目录 一&#xff1a;背景介绍 二&#xff1a;思路&方案 三&#xff1a;过程 问题1&#xff1a;代码可读性差&#xff0c;代码结构混乱 问题2&#xff1a; 代码逻辑混乱&#xff0c;缺乏封装的意识 问题3&#xff1a;美观问题&#xff1a;问题和图标没有对应上 四…

最短路专题——Dijkstra、Floyd、Bellman-Ford、SPFA

目录前言一、全源最短路1.1 Floyd二、单源最短路2.1 Dijkstra2.1.1 堆优化版的Dijkstra2.2 Bellman-Ford2.2.1 队列优化版的Bellman-Ford&#xff1a;SPFA前言 BFS是一种朴素的最短路算法&#xff0c;它可以找到无权图或边权都相同的图的最短路&#xff0c;但是对于边权不完全…

AbstractQueuedSynchronizer从入门到踹门

概念设计初衷&#xff1a;该类利用 状态队列 实现了一个同步器&#xff0c;更多的是提供一些模板方法&#xff08;子类必须重写&#xff0c;不然会抛错&#xff09;。 设计功能&#xff1a;独占、共享模式两个核心&#xff0c;state、Queue2.1 statesetState、compareAndSetSta…

LayerNormalization

目录 1.BN的问题 1.1 BN与batch size 1.2 BN与RNN 2.LN详解 2.1 MLP中的LN 2.2 RNN中的LN 2.3 LN与ICS和损失平面平滑 BN不适用于RNN等动态网络和batchsize较小的时候效果不好。LayerNormalization的提出有效的解决BN的这两个问题。LN和BN不同点是归一化的维度是互相垂直…