Java面试题学习(网络)

1.Java 基础

2.Spring & SpringBoot

3.数据库

4.网络(正在浏览)

目录

1.什么是认证和授权?

2.如何设计一个权限认证框架?

3.什么是CSRF攻击?如何防止?

4.OSI参考模型、TCP/IP参考模型

5.请描述 TCP 建立连接的三次握手,释放连接的四次挥手

6.HTTP 和 HTTPS 有什么区别?

7.浏览器发送一个请求到收到响应经历了哪些?

8.重定向和转发有何区别?

9.Cookie和Session有什么区别?

1.什么是认证和授权?

        认证:验证访问者是否是系统的合法用户。

        授权:给合法用户授予哪些权限。

2.如何设计一个权限认证框架?

        基于 RBAC(Role-Based Access Control)实现权限认证

3.什么是CSRF攻击?如何防止?

(1)CSRF攻击:跨域请求伪造攻击。利用了登录用户保存在浏览器的cookie信息,发送恶意请求。

(2)使用Token机制、设置HTTPOnly Cookie、使用HTTPS

4.OSI参考模型、TCP/IP参考模型

(1)应用层协议:

        HTTP(超文本传输协议):基于TCP

        FTP(文件传输协议):基于TCP

        SMTP(简单邮件传输协议):基于TCP

        DNS(域名系统):基于UDP,解决域名和IP地址映射

(2)传输层协议:

        TCP:面向连接、可靠、时延大、传输效率低

                (传输高准确性的文件、邮件)

        UDP:无连接、不可靠、时延小、传输效率高

                (传输低准确性的语音、视频、直播)

(3)网络层协议:

        IP(数据传输协议):数据传输

        ARP(地址解析协议):根据IP地址找MAC地址,解决下一跳

5.请描述 TCP 建立连接的三次握手,释放连接的四次挥手

        seq(序列号):TCP字节流按序编号,表示本报文段数据的第一个字节的序号

        ack(确认号):期待收到下一个报文段的第一个字节的序号

        ACK(确认位):ACK=1,表示确认号有效

        SYN(同部位):SYN=1,表示请求/接受建立连接

        FIN(终止位):FIN=1,表示释放连接

(1)建立连接(三次握手)

(2)释放连接(四次挥手)

6.HTTP 和 HTTPS 有什么区别?

HTTP

HTTPS

URL前缀

http

https

端口

80

443

安全性

内容明文传输,安全性低

内容经过SSL加密传输,安全性高

7.浏览器发送一个请求到收到响应经历了哪些?

        (1)浏览器解析URL

        (2)浏览器进行DNS解析:解析域名为IP地址

        (3)浏览器向服务端请求建立TCP连接,建立连接后发送HTTP请求

        (4)服务端处理请求,走Spring MVC工作流程,响应数据

        (5)浏览器解析并渲染响应数据

8.重定向和转发有何区别?

重定向(Redirect)

转发(Forward)

地址栏变化

地址栏URL发生变化

地址栏URL不变

请求次数

客户端发送2次请求

客户端发送1次请求

数据共享

无法共享请求中的数据

可以共享请求中的数据

发生行为

是客户端行为,由浏览器执行

是服务端行为,由服务器执行

9.Cookie和Session有什么区别?

Cookie

Session

存储位置

客户端(浏览器)

服务器端

存储容量

较小

较大

安全性

存储在客户端,安全性较低

存储在服务器端,安全性较高

使用场景

存储少量、不敏感的数据

存储大量、敏感的数据(用户登录状态)

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值