| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 408面试总结 -> 正文阅读 |
|
[网络协议]408面试总结 |
计算机网络1.Http和Https的区别Hyper Text Transfer Protocol Hyper Text Transfer Protocol over SecureSocket Layer HTTPS和HTTP的区别主要如下: Https协议不是一种新的协议,它就是Http协议和SSL(现在叫TLS协议)协议组合而成的协议,所以他们的不同就是SSL的作用 1、相比较比http,https协议加上了加密处理(共享密钥加密(公开密钥加密,私有密钥解密)和对称密码加密(加密和解密使用同样的密钥))和认证(第三方机构提供的证书)以及完整性保护(应用层发送数据的时候会附加MAC消息验证码的报文摘要,能够查到报文是否被篡改)。 这三部分是https相对于http的优点,那现在也仍然有很多网站不使用https,使用http协议,原因就是http也有它的优点 ? 1、http比https要快,因为https使用ssl协议,它的通信慢,CPU和内存的消耗比较大,所以处理速度也会变慢。单位时间里能处理的请求数量就会变少。所以如果不是一些敏感信息,用http更合适。特别对于一些小网站来说负载太多根本承担不了。 ? 2、最后一点就是购买申请证书也是要钱的,用http就可以节约成本。 这就是就是http和https各自的优缺点,也就是他们的区别。 3、http和https用的端口也不一样,前者是80,后者是443。
2.前后端如何交互前后端的交互就是客户端和服务器端以及数据库之间的交互。主要是通过接口实现的。后端给前端提供一个接口,这个接口包括接口的地址,需要的参数,返回的参数和数据。前端可以通过接口地址传递参数。后端得到这个参数之后再和数据库进行交互。之后响应给前端(spring里面通过Model),前端再进行展示。这个过程通过借助Ajax完成,data存放发送请求的数据和返回的数据。 3.三次握手四次挥手三次握手 参考文章:面试官,不要再问我三次握手和四次挥手 - 知乎 (zhihu.com)
四次挥手 SYN
ACK
PSH
FIN
4.doGet、doPostget、post是HTTP协议里面的两种方法(此外还有head、delete) get、post两种方法有本质上没有区别。
所以说完本质后,通常情况下有区别:
doGet()和doGost()是servlet中处理get、post方法的 可以在把方法写在doGet中,在doPost中去调用执行,这样无论不管你用哪种方法提交,都会执行。 5.TCP和UDP的区别
6.OSI 7层协议和TCP/IP 5层协议区别同一层之间的交互叫做协议。上下层之间之间的交互叫做接口。 OSI开放式系统互联模型,它是早期国际协议标准,并未得到普及,现在都是作为制定协议的原型去参考。而TCP/IP是世界上最广泛应用的通信协议。主要区别有:
操作系统计算机组成原理数据结构和算法设计模式六大原则: 单一职责原则(Single Responsibility Principle): There should never be more than one reason for a class to change.
开闭原则(Open Closed Principle): Software entities like classes, modules and functions should be open for extension but closed for modification
里氏替换原则(Liskov Substitution Principle) Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it.
六大设计原则之里氏替换原则(LSP) - 简书 (jianshu.com) 继承存在缺点:
里氏替换的针对缺点的解决办法:
迪米特法则(Law of Demeter) Talk only to your immediate friends and not to strangers 不跟陌生人说话
接口隔离原则(Interface Segregation Principle) Clients should not be forced to depend upon interfaces that they don`t use. 客户端不应该依赖它不需要的接口。 The dependency of one class to another one should depend on the smallest possible.
依赖倒置原则(Dependence Inversion Principle) High level modules should not depend upon low level modules. Both should depend upon abstractions.
代理模式proxy:代理 设计模式—代理模式 - Dan_Go - 博客园 (cnblogs.com)
分类:按照代理创建的时间来分类的话 静态代理:程序员创建的,在运行之前,.class文件就已经被创建了
动态代理:程序运行时通过反射机制动态创建的。 静态代理例子:
动态代理 在动态代理中,我们不需要手动创建代理类,我们只需要编写一个动态处理器即可。真正的代理对象由jdk在运行的时候为我们动态的创建。
Proxy.newProxyInstance()的方法接受三个参数 ClassLoader loader:指定目标对象使用的类加载器,获取加载器的方法是固定的 Class<?> interface:指定目标对象实现接口的类型,使用泛型确定类型 InvocationHandler:指定 动态处理器,执行目标对象的方法的时候,会触发事件处理器的方法 相对于静态代理,动态代理大大减少了我们的开发任务,减少了对业务接口的依赖,降低了耦合度。 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 8:44:46- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |