计算机网络应用层常问八股

HTTP协议的特点

http 是超文本传输协议,它是一种 Web 通信的协议.如何理解超文本,包含了图片,视频,文件等内容.

http 协议的特点:

HTTP 之间是无状态的,每一个请求都是独立的,需要通过 cookies 或者 Session 来维护状态.

Http 是请求应答模式,只有请求方先发送请求,应答方收到请求之后才能回复,http 是单向的。服务器端不能主动给客户端发消息,可以使用 websokcet 来优化。

底层是基于 TCP 的保证数据的可靠性,https 还基于 SSL 和 TLS。

灵活扩展可以添加请求头实现任意的功能,可以添加 authorization 等请求头字段。

HTTP 的报文格式

alt

请求行、请求体、请求头。

请求行是: 请求方法 +URL +HTTP 的协议版本

http 和 https 的区别

从安全的角度来看: http 是明文传输的,并不安全。https 是基于 ssl 和 tls 协议传输的,传输内容加密较为安全。

使用的传输层端口:http 默认使用的是 80 端口,https 默认使用的是 443 端口。

从建立连接连接都是基于 TCP 三次握手的,但是 https 还要经过 SSL/TLS 握手,才能进行加密报文传输.

证书: HTTPS 需要使用数字证书来验证服务器的身份,并确保数据传输的安全性,证书由第三方的机构颁发,用户证明服务器的身份和所有权.Http 并没有使用证书进行身份验证和加密.

https://www.runoob.com/w3cnote/http-vs-https.html

alt

SSL/TLS 握手过程:

感觉只有腾讯和字节会问详细过程,可以讲一下对称加密和非对称加密。

细节这谁记得住, ca 证书是使用的对称加密,传输数据使用的是非对称加密算法.

alt

常见的状态码

HTTP 有五类常见的状态码,分别是,分别是数字 12345 开头的数字. alt

301 和 302,301 代表永久重定向,302 代表临时重定向,这个用在短链的项目中.

短链中使用 302 临时重定向,访问 A 地址重定向带 B 地址去,临时重定向是先访问 A,然后再跳转到 B.但是永久重定向就直接访问了 B ,并不会 访问 A.

400 表示客户端发送的报文有错误. 403 是请求的服务器资源权限不够,没有权限。401 没有携带 token 信息。404Not Found 表示服务器上面没有该资源.

502 是服务内部出现错误 504 是服务内存超时,网关没有重上游获取到数据.

长连接和短链接

HTTP1.0 的时候是短链接,在 1.1 的时候是长连接.

字段是 connection: keep-alive.

alt

建立一次的 TCP 连接后,可以进行多次的 HTTP 通信.

但是在 1.1 的时候还是需要请求-响应,保持有序的. 在 2.0 的时候可以实现无序的请求.

get 请求的幂等性

首先幂等性(Idempotence) 指的是:同一个请求方法无论调用一次还是多次,对服务器资源的状态(副作用)只会产生一次影响,即多次执行不会带来额外的状态改变。 如果 按照 Restful 编写接口,get 请求时获取资源的,是幂等性的,post 请求添加数据不是幂等性的,但是如果我用 get 请求去添加数据,那么就不是幂等性了。 所以 get 不一定是幂等性的。

从服务器获取时间可以用 get 请求。

get请求一定是幂等的吗?如果从服务器请求时间那么使用get还是post?聊一聊你对幂等的理解(我怀疑是我对get的幂等性理解错了,面试官一直在追问)

HTTP 1.0 1.1 2.0 3.0 的区别

alt

1.0 到 1.1 实现了长连接的传输,但是还是发送还是有序的,不能实现真正的并行。

2 通过 stream 实现多路复用,可以实现真正的并行。

alt

DNS 解析

应用层 DNS 解析 是将 URL 域名转为 IP 地址的,在网络中传输的时候是路由器来转发数据包,需要使用 IP 地址来转发. URL 更容易记住.DNS 是基于 UDP 实现的,也可能是 TCP

Cookie 和 Session

本质都是 Http 是无状态的,需要用这两个来保存信息.

Cookie 存储在客户端,Session 存储在服务器短,Session 不能跨服务,可以用存储到 Redis 中去.

Cookie 存在客户端可能会存在安全性的问题

#计算机网络面试##应用层协议#
牛牛的面试专栏 文章被收录于专栏

牛牛的面试专栏,希望自己在25年可以拿到一份大厂的SP Offer 你的点赞和收藏都是我持续更新的动力

全部评论

相关推荐

点赞 评论 收藏
分享
评论
1
5
分享

创作者周榜

更多
牛客网
牛客企业服务