【测试开发面试复习(一)】计算机网络:应用层详解(P2)补充ing

复习自用,若有错漏,欢迎一起交流一下~~

一、高频面试题记录

uri 和 url 的区别 ?
dns 是啥工作原理,主要解析过程是啥?
用户输入网址到显示对应页面的全过程是啥?
http 头部包含哪些信息?
http 方法了解哪些?
http 状态码了解哪些?
get 和 post 的区别?
https 和 https 的区别?
https 的加密方式?
http 是不保存状态的协议,如何保存用户状态?
http 不同版本的区别?
用户输入网址到最后看到返回,经历了什么

二、web(万维网)和域名

万维网:www = world wide web,我们一般称之为web。
是一种信息系统,使文档和其他web资源能够通过Internet访问。
网络上的资源必须有唯一标识,才可以在网络上被访问。

2.1 URI、URL、URM

uri(uniform resource identifier) 统一资源标识符。
url(uniform resource location) 统一资源定位符,统指绝对路径。【用的最多】
urn(uniform resource name) 统一资源名。【未大范围使用】

URL由三部分组成:
*注意:URL是否以/结尾,意义不同,服务器自动处理了差异所以用户一般无感知
【访问资源使用的协议类型(如http://)】【服务器的web地址,可以是域名(如nihao) 或 IP地址+端口号(localhost:8080),不添加默认为 80 ,这是访问域名不用加端口号的原因 】【web服务器上的某个资源(如abc/read)】
http://nihao.com/abc/read

2.2 常见应用程序体系架构

  • C/S((client/server):客户端向服务端发送和请求数据,服务器要一直开机,主要应用在大型互联网
    如:魔兽世界端游(C/S)、Google(B/S)、也有既可以又可以的应用哦~比如outlook;
  • P2P(peer to
    peer):对等通信,不需要数据中心,应用程序在间断连接的主机对之间直接通信。主要应用在流量密集型应用。比如:迅雷,bitTorrent,或者在局域网的文件内部共享应用中。

2.3 web

web不仅仅有client和server的简单请求响应,还包含特殊的server

  • 代理:位于客户端和服务端之间,可转发web流量,可以对请求和响应进行过滤。(比如用于校园网,过滤不良内容);
  • 网关:链接其他应用程序的特殊web服务器,常用于将http流量转化为其他协议,客户端对此无感知。
  • 隧道:
  • DNS(域名):支持中文字符,结构是xxx.xxx.xxx,分层树状结构:二级域名(csdn)+顶级域名(cn-中国、edu-教育组织、com-商业or公司实体、net-网络)

三、DNS

3.1 DNS原理

*客户端 A 向本地域名服务器查询为递归查询,本地域名服务器向根域名服务器查询为迭代查询。
在这里插入图片描述
客户端A-查询本地hosts文件(没有映射关系下一步)-查找本次DNS解析缓存(没有下一步)-根据tcp/ip参数查找设置好的首选DNS服务器IP地址(本次dns服务器,没有下一步)-本地dns访问根服务器,根据后缀名查找定级域名服务器的ip,以此向下查找域名服务器IP,查找网址映射关系,直到找到为止。

3.2 DNS数据传输

  • dns既采用UDP协议,也采用tcp协议;
  • dns通过53端口进行通信,默认采用udp协议进行数据传输(或者说大多数情况);
  • 当返回的响应超过512字节,会使用tcp传输(udp最大只支持512字节的数据);
  • 当主域名服务器向辅助域名服务器传送变化的那部分数据(区域传送),会使用tcp传输;
  • 注意: tcp 协议和 udp 协议是可以同时绑定同一个端口的。
  • 区域传输: dns 服务器中数据不总是一成不变的,域名数量是不断增加,而且一些域名对应着的服务器的也是在变化的,所以其实 dns服务器中的数据是不断增加的,并且随时流动的,所以可以将区域传输简单理解为 dns 服务器之间进行的数据传输。

3.3 DNS域名服务器

  • 根域名服务器:最高层次的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的ip地址,全球有 13 个根域名服务器。
  • 顶级域名服务器:负责处理所有顶级域名,提供到权威域服务器的映射。
  • 授权(权威)域名服务器:提供主机名到 IP 地址间的映射服务
  • 主域名服务器:一个或多个区域域名解析工作的主要域名服务器,通常也是一个或多个区域的授权域名服务器。
  • 辅助域名服务器:协助主域名服务器提供域名查询服务,在主机很多的情况下,可以有效分担主域名服务器的压力。当主域名服务器故障时,辅助域名服务器能够在数据有效期内继续为主机提供域名解析服务。

3.4 网页解析全过程(重要)

用户输入网址(浏览器获得一个域名)-DNS解析(通过dns服务器将域名解析为IP地址)-TCP连接(向web服务器发起tcp连接请求)-发送http请求(在建立起的tcp连接中,按照http协议标准发送一个索要网页的请求)-处理请求并返回(服务器获取到请求后,根据请求内容来决定如何获取对应文件,并将文件发送给浏览器)-浏览器渲染(先解析HTML文件,构建DOM树,然后解析CSS文件,构建渲染树,构建完成后,浏览器开始布局渲染树并将其绘制到屏幕)-TCP断开(客户端和服务器断开连接)

四、http

4.1 xxx?

五、socket

5.1 XXX?

六、其他

6.1 XXX?

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

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

相关文章

IEEE Trans. On Robotics ​“受护理人员启发的双臂机器人穿衣”研究工作

开发能够协助穿衣的辅助机器人,可以极大地改善老年人和残疾人的生活。然而,大多数机器人穿衣策略只考虑使用单个机器人,这大大限制了穿衣辅助的性能。事实上,专业护理人员是通过双臂来完成这项任务的。受其启发,我们提…

【YOLO v5 v7 v8 小目标改进】Non-local 注意力实现非局部神经网络,解决长空间和时间数据依赖问题

Non-local 注意力实现非局部神经网络,解决长空间和时间数据依赖问题 提出背景长距离技术对比Non-local Block是怎么设计Non-local 神经网络效果 小目标涨点YOLO v5 魔改YOLO v7 魔改YOLO v8 魔改 提出背景 论文:https://arxiv.org/pdf/1711.07971.pdf …

用 tensor-parallel 多卡并发推理大模型

利用 tensor-parallel 把模型训练与推理的 workload 平均分布到多块 GPU,一方面可以提高推理速度,另一方面 vram 的负载平衡也让复杂的 prompt 能被轻松处理。 import 相关的 libs: # torch version 2.0.0 import torch # tensor-parallel …

抽象类与抽象方法

文章目录 抽象类抽象类的特点 抽象方法抽象方法的特点 模板设计模式模板设计模式能解决的问题示例 #抽象类与抽象方法 抽象类 用abstract关键字来修饰一个类时,这个类就叫抽象类。 public abstract 类名{... }抽象类的特点 1)抽象类不能被实例化。 2&…

AOP(黑马学习笔记)

AOP基础 学习完spring的事务管理之后,接下来我们进入到AOP的学习。 AOP也是spring框架的第二大核心,我们先来学习AOP的基础。 在AOP基础这个阶段,我们首先介绍一下什么是AOP,再通过一个快速入门程序,让大家快速体验A…

JAVASE初认识

1.初认识其结构 1.源文件(扩展名为*.java):源文件带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个类。类的内容必须包含在花括号里面。 2.类:类中带有一个或多个方法。方法必须在类的内部声明。 3.方法&#xff1…

vue3创建h5 项目使用rem做响应式的配置

第一步 安装依赖: npm install amfe-flexible -S npm install postcss-px2rem -S第二步 main.ts文件中导入 import "amfe-flexible/index.js";第三步 进行配置: vue3 项目中创建 postcss.cinfig.js文件,这里是基于设计稿是750px…

gRPC知识归档

文章目录 gRPC知识归档gRPC原理什么是gRPCgRPC的特性gRPC支持语言gRPC使用场景gRPC设计的动机和原则 数据封装和数据传输问题网络传输中的内容封装和数据体积问题JSONProtobuf(微服务之间的服务器调用,一般采用二进制序列化,比如protobuf&…

精读《React Hooks 最佳实践》

简介 React 16.8 于 2019.2 正式发布,这是一个能提升代码质量和开发效率的特性,笔者就抛砖引玉先列出一些实践点,希望得到大家进一步讨论。 然而需要理解的是,没有一个完美的最佳实践规范,对一个高效团队来说&#x…

【airtest】自动化入门教程(二)airtest操作

目录 一、touch 二、wait 三、swipe 四、exists 五、text 六、keyevent 七、snapshot 八、sleep 九、断言 9.1 assert_exists 9.2 assert_not_exists 9.3 assert_equal 9.4 assert_not_equal 前言:本文主要针对aritest部分的基础操作,aritest是一个跨平…

网络编程第二天

1.基于TCP的通信(面向连接的通信) 服务器代码实现&#xff1a; #include <myhead.h> #define IP "192.168.126.91" #define PORT 9999 int main(int argc, const char *argv[]) {//1、创建套接字int sfd-1;if((sfdsocket(AF_INET,SOCK_STREAM,0))-1){perror(…

LeetCode 76 最小覆盖字串

LeetCode 76 最小覆盖字串 在本篇博客中&#xff0c;我们将探讨LeetCode上的一道算法题目——“最小覆盖子串”。这道题的主要目标是找到字符串s中包含字符串t中所有字符的最小子串。 问题描述 给定字符串s和t&#xff0c;要求在字符串s中找到一个最小的子串&#xff0c;使得…

5.36 BCC工具之ucalls.py解读

一,工具简介 ucalls工具总结了包括Java、Perl、PHP、Python、Ruby、Tcl和Linux系统调用在内的各种高级语言中的方法调用。它显示最常调用方法的统计信息,以及这些方法的延迟(持续时间)。 通过系统调用支持,ucalls可以提供关于进程与系统交互的基本信息,包括系统调用计数…

ES系列之Logstash实战入门

概述 作为ELK技术栈一员&#xff0c;Logstash用于将数据采集到ES&#xff0c;通过简单配置就能把各种外部数据采集到索引中进行保存&#xff0c;可提高数据采集的效率。 原理 数据源提供的数据进入Logstash的管道后需要经过3个阶段&#xff1a; input&#xff1a;负责抽取数…

C#单向链表实现:在当前节点后插入新数据的方法Insert()

目录 一、涉及到的知识点 1.插入算法 2.示例中current 和 _current 的作用 3.current 和 _current 能否合并为一个变量 4.单向链表节点类的三个属性 &#xff08;1&#xff09;Next属性&#xff1a; &#xff08;2&#xff09; Value属性&#xff1a; &#xff08;3&am…

【ArcPy】批量读取文件夹excel中XY并转为点shp

示例展示 代码 只读取excel中含有XY字段的文件&#xff0c;并将矢量命名为excel文件名称。 import os import pandas as pd import arcpy folder_path r"C:\Users\admin\Desktop\excelfile" extension"xlsx" files [file for file in os.listdir(folder…

SpringCloud gateway限流无效,redis版本低的问题

在使用springCloud gateway的限流功能的时候&#xff0c;配置RedisRateLimiter限流无效&#xff0c;后来发现是Redis版本过低导致的问题&#xff0c;实测 Redis版本为3.0.504时限流无效&#xff0c;改用7.0.x版本的Redis后限流生效。查了资料发现很多人都遇见过这个问题&#x…

RedisTemplate 序列化成功,反序列化失败List, Set, Map失败

RedisTemplate 序列化成功&#xff0c;反序列化失败List, Set, Map失败 异常信息RedisTemplate配置异常原因错误代码示例解决方法 序列化成功&#xff0c;反序列化失败 异常信息 Caused by: com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Could not resolve ty…

小程序事件处理

事件处理 一个应用仅仅只有界面展示是不够的&#xff0c;还需要和用户做交互&#xff0c;例如&#xff1a;响应用户的点击、获取用户输入的值等等&#xff0c;在小程序里边&#xff0c;我们就通过编写 JS 脚本文件来处理用户的操作 1. 事件绑定和事件对象 小程序中绑定事件与…

React之组件定义和事件处理

一、组件的分类 在react中&#xff0c;组件分为函数组件和class组件&#xff0c;也就是无状态组件和有状态组件。 * 更过时候我们应该区别使用无状态组件&#xff0c;因为如果有状态组件会触发生命周期所对应的一些函数 * 一旦触发他生命周期的函数&#xff0c;它就会影响当前项…