(计算机网络)应用层

news2024/11/24 16:23:31

1.为什么需要应用层

应用层提供使用tcp,udp使用的方式

协议就是制定的规则

2.域名服务器概述

域名是唯一的

新增域名,大家都要修改这个文本文件,所以要进行集中管理这个文本文件,而不是使用本地的hosts文件

hosts文件在Windows系统和Linux系统中相应的路径可以找到

该文件能帮助我们快速定位做出域名解析

从浏览器输入www.baidu.com时,浏览器先去本地的hosts文件当中找有没有www.baidu,com(域名),有的话直接跳到该ip地址,就不需要先访问本地的域名解析服务器,再去访问远程(这样就提升了效率)

像www.baidu.com其实是有层次的

域名系统DNS,是一个名称空间,具备分布式的能力,域名系统不能挂,所以用分布式的方式来部署

从浏览器输入www.baidu.com时,会先来到DNS这个域名解析服务器,域名服务器会将输入的内容转换成具体的百度服务器ip地址,对方的浏览器ip地址是有ip的。

对于域名的划分:

其中,.cn表示中国,.us美国,.uk英国  .edu教育部门,.gov表示政府部门

例如:

mail邮件服务  bbs论坛服务

四级域名为某一个功能模块或者是组织架构,前面的是隶属于某一个机构。

权限域名服务器用来做真正的解析(将www转换成ip地址)

域名不是以域为单位,而是以区为单位

默认是都在一起的,若常用,独立划分出来成为一个单独的区,是一个独立的域名服务器,做成独立的一台服务器。

3. 域名解析过程

域名服务器分为四种,是根据等级来划分的

对于顶级的域名服务器

一个区就有一个权限域名服务器,主要的作用就是用来解析的。

A会将数据同步给B主机,若在这个过程中,若有DNS的请求发送给B,这样的请求允许发生吗?

若允许发生,这样的数据是不准确的,为了保证数据的一致性,所以不允许发生。

对于主机而言,在做递归查询,请别人帮忙,对本地域名服务器,在做迭代查询,主动完成

冷门数据没有被访问,就删除。热点数据:经常被访问,只有热点数据一直保存在缓存里面。

4.万维网要解决的问题

网站有多个页面所构成,或是说有很多多媒体所组成,集合在一起,成为一个站点,资源可以相互跳转---使用超链接来实现

超文本:不止包含文本信息,还能包含除了文本以外的其他信息(图文声像)

最重要的特点就是:跳转

从浏览器向服务器请求超文本资源(文字 图片声音等等)资源会从服务器发送到浏览器

浏览器的身份就是一个客户端

能成功返回:前提是要能找到资源

tomcat(用javaweb开发)  nginx(静态资源服务器 服务器性能较好 响应速度快)

URL(统一资源定位符)--标识互联网文档 相当于文件的身份证号

UDP发送对方就不会响应

事实上服务器上有很多html页面

5.URL的概念

网页上面输入的网址,其实就是URL

其中:80端口是默认的端口,可以不写  URL中http没有时默认会自动带上   www也是不写也没有关系   其中,index.html是主页,当没有其他地址,默认展示这个

 

6.http协议 

当请求和响应完整的结束,TCP连接就会被释放

点击--跳转--(完成的是超链接的功能)--相当于浏览器又向服务器发起了一次请求最终获得

7.cookie的实现原理

无状态:就是没有记录上一次请求留下的数据

cookie是客户端的会话技术   会话就是客户端和服务器的一次交互

客户端和服务器的交互产的数据可以保存下来 

cookie(保存在客户端的本地)  session(保存在服务器的本地)

若是使用了cookie技术,客户端就需要开辟一段空间来保存这一次交互所产生的数据

若是使用了session技术,服务器就需要开辟一段空间来保存这一次交互所产生的数据

使用cookie的流程:

转账操作:同时成功或者同时失败

这些动作是不能再被分割的整体

一次的请求和响应是一个RTT

客户和服务器要去发送请求,整个过程需要三次握手:

第一次握手:客户端发送请求给服务器

第二次握手:服务器返回响应

第三次握手:客户端将请求的报文带给服务器

最后服务器将客户端需要的资源传回客户端

所需时间:三次握手+最后传输文档所需的时间

8.持续连接

版本为1.1的http就使用了持续连接

但是会存在一些问题:

流水线的出现,大大提升了利用率

解决方法:

当客户端收到12395的时候,就相当于服务器告诉浏览器响应结束了

9.代理服务器

很好的提高性能的方式:代理服务器

代理的意思就是帮助做一些事情,提供代理服务

代理服务器:代表你来发送http请求(相当于房屋中介,你只需提出要求)

代理服务器:又称万维网的高速缓存

流量强度<1--说明性能是不错的,流量在局域网里面是能够被承载下来的

若没有使用代理服务器,就会有一定的弊端:

链路时延较长,如何解决?--

使用代理服务器,所有的请求都会发送给代理服务器,由代理服务器去代理这次请求。

例如A向服务器发起请求,A会先将需求告诉代理服务器,然后由代理服务器去发起请求

代理服务器的好处:就是一个高速缓存(响应的资源会放到代理服务器内部)

若是B也想访问那个服务器,直接先访问代理服务器,这样就减少了链路上的流量

但是在这个过程中,代理服务器也会访问服务器,但是会带一个最后修改时间,如果和服务器的时间相同,服务器会返回一个响应304(不会给你资源了,直接使用你缓存的就可以)

若服务器的最后修改时间是最新的,这时,服务器就会返回最真实的页面给客户端,此时,状态码就成为200.这样就减少了链路上的浏览压力。

服务器中存储最后一次修改时间

10.http协议的请求报文

请求首部--请求头(里面放的是键值对的信息)--一个名称对应一个值(表示一个属性和属性值)

报文:由请求行,请求头,请求体组成

post请求:新的资源的建立,已有资源的修改

11.http响应

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

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

相关文章

智能厕所系统高科技打造公厕新生态丨深圳讯鹏科技

从人们踏入智能厕所的那一刻起&#xff0c;便能深切感受到科技的力量。智能感应门悄然无声地开启&#xff0c;仿佛在欢迎每一位使用者。这种感应门不仅方便快捷&#xff0c;更避免了传统公厕门的直接接触&#xff0c;减少了细菌交叉感染的风险。走进厕所内部&#xff0c;智能灯…

Golang | Leetcode Golang题解之第397题整数替换

题目&#xff1a; 题解&#xff1a; func integerReplacement(n int) (ans int) {for n ! 1 {switch {case n%2 0:ansn / 2case n%4 1:ans 2n / 2case n 3:ans 2n 1default:ans 2n n/2 1}}return }

掌握Flux的各种风格表现,另外,flux也有了滑块Lora

在AIGC知识库通过#flux标签&#xff0c;汇总了下最近整理的内容&#xff0c;部分如下&#xff0c;更多可见AIGC知识库。 shadow&#xff1a; 经常在画图的时候&#xff0c;会有选择困难症&#xff0c;这下可以直接翻阅查看自己喜欢的风格&#xff0c;参考使用 ↓ Flux Style Te…

安装oh-my-zsh后报错zsh: command not found: conda问题解决

zsh: command not found: conda问题解决 一、问题介绍与环境介绍 系统为macOS Sonoma 14.5 所用终端为zsh 主要问题&#xff1a;安装了oh-my-zsh之后conda命令在终端中不可用。 二、原因分析 终端中zsh的可访问的程序一般放在/bin, /usr/bin, /usr/local/bin&#xff0c;~/bi…

快速了解高并发解决方案

对《高并发的哲学原理》的个人总结&#xff0c;原书地址如下 https://pphc.lvwenhan.com/ 本书的核心思想就是拆分&#xff0c;服务细化拆分多资源并行。 通用设计方法 例子&#xff1a;每秒100万次http请求 通过架构解决性能问题&#xff0c;在面对并发需求时&#xff…

【Python系列】JSON和JSONL简介

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

动手学深度学习(一)简介+预备知识+基础知识(上)

一、简介 1、机器学习 机器学习研究如何使用经验改善计算机系统的性能。 2、表征学习 表征学习是机器学习的一类&#xff0c;研究的是&#xff0c;如何自动学习出数据合适的表示方式&#xff0c;更好地由输入得到正确的输出。 3、深度学习 深度学习是具有多级表示的表征学…

SpringCloud微服务详细笔记(一):微服务介绍--微服务拆分--RestTemplate远程调用--Nacos注册中心

目录 1.认识微服务 1.1单体架构 1.2微服务 1.3SpringCloud 2.微服务拆分 2.1服务拆分原则 2.1.1什么时候拆&#xff1f; 2.1.2怎么拆&#xff1f; 2.2微服务项目结构&#xff1a; 2.3服务拆分示例&#xff1a; 2.4远程调用 2.4.1RestTemplate 2.4.2远程调用示例 …

Qt篇——Qt使用C++获取Windows电脑上所有外接设备的名称、物理端口位置等信息

我之前有发过一篇文章《Qt篇——获取Windows系统上插入的串口设备的物理序号》&#xff0c;文章中主要获取的是插入的USB串口设备的物理序号&#xff1b;而本篇文章则进行拓展&#xff0c;可以获取所有外接设备的相关信息&#xff08;比如USB摄像头、USB蓝牙、USB网卡、其它一些…

前端转鸿蒙好做吗

在科技不断发展的当下&#xff0c;许多前端开发者可能会思考一个问题&#xff1a;前端转鸿蒙好做吗? 一、前端与鸿蒙开发的差异 1. 技术栈的变化 前端开发主要涉及 HTML、CSS、JavaScript 等技术&#xff0c;而鸿蒙开发则需要掌握 Java、Kotlin、JavaScript 等语言&#xff0c…

远程存储 RDMA

什么是 RDMA RDMA&#xff08;Remote Direct Memory Access&#xff09;指的是远程直接内存访问&#xff0c;这是一种通过网络在两个应用程序之间搬运缓冲区里的数据的方法。 Remote&#xff1a;数据通过网络与远程机器间进行数据传输。 Direct&#xff1a;没有内核的参与&am…

计算机毕业设计 | 基于SpringBoot的健身房管理系统(附源码)

1&#xff0c;项目背景 随着人们生活水平的提高和健康意识的增强&#xff0c;越来越多的人开始关注自己的身体健康并加入到健身行列中。然而&#xff0c;传统的健身房管理方式往往存在诸多问题&#xff0c;如会员信息管理混乱、课程安排不合理、教练资源分配不均等&#xff0c…

MaxCompute基础概论

1. 简介与背景 随着大数据技术的发展&#xff0c;企业和组织面临着处理海量数据的挑战。传统的数据存储和处理工具难以应对高并发、复杂计算以及海量数据的快速增长需求。为了解决这些问题&#xff0c;阿里云推出了 MaxCompute&#xff08;原名 ODPS&#xff09;&#xff0c;这…

超声波雪深监测站

超声波雪深监测站是一种用于测量和监测雪深的设备。它的功能和作用主要包括以下几个方面&#xff1a; 雪深测量&#xff1a;超声波雪深监测站能够通过发射超声波并接收回波的方式&#xff0c;测量雪地表面到地面之间的距离&#xff0c;从而得到雪深的数据。通过分析和处理这些数…

图像去噪的艺术:自适应中值滤波器的应用与实践

在数字图像处理的众多挑战中&#xff0c;噪声的去除是一个永恒的话题。特别是椒盐噪声&#xff0c;因其随机将像素点变为极黑或极白&#xff0c;对图像的视觉质量破坏极大。本文将通过MATLAB实现的自适应中值滤波器&#xff08;AMF&#xff09;&#xff0c;探讨其在图像去噪中的…

--- 数据结构 二叉树 --- java

树形结构 数使一个非线性结构&#xff0c;他是由n个结点组成的具有一定层次关系的集合&#xff0c;叫做树是因为他像是一颗倒挂的树&#xff0c;根在上&#xff0c;叶子在下&#xff0c;具有一些性质 1&#xff0c;有一个特殊节点叫做根节点&#xff0c;他没有钱去节点&#x…

017_Python爬虫系列_防盗链代理

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈 入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈 虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈 PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈 Oracle数…

限流,流量整形算法

写在前面 本文看下流量整形相关算法。 目前流量整形算法主要有三种&#xff0c;计数器&#xff0c;漏桶&#xff0c;令牌桶。分别看下咯&#xff01; 1&#xff1a;计数器 1.1&#xff1a;描述 单位时间内只允许指定数量的请求&#xff0c;如果是时间区间内超过指定数量&a…

用Python实现时间序列模型实战——Day 17: 时间序列模型的评估方法

一、学习内容 1. 预测误差的评估指标 在时间序列预测中&#xff0c;常用的评估指标包括 MAE (Mean Absolute Error), MSE (Mean Squared Error) 和 RMSE (Root Mean Squared Error)。这些指标用于衡量模型的预测误差。 MAE (Mean Absolute Error)&#xff1a; MAE 衡量预测值…

mysql学习教程,从入门到精通,MySQL WHERE 子句(10)

1、SQL WHERE 子句 在本教程中&#xff0c;您将学习如何使用SQL从表中选择特定记录。 根据条件选择记录 在上一章中&#xff0c;我们学习了如何从表或表列中获取所有记录。但是&#xff0c;在现实世界中&#xff0c;我们通常只需要选择&#xff0c;更新或删除满足某些条件的那…