计算机网络面试

http是什么?
一种超文本传输协议

详细解释一下超文本传输协议
协议就是一种行为约定规范,传输就是两点传输数据,超文本就是不只是有普通的文字还有图片啊视频啊还有超链接能从一个超文本跳转到另一个超文本。

http常见的状态码
200表示成功 3表示重定向 4表示客户端发送的报文有误 500表示服务器错误

说说http常见的字段
host指定服务器的域名 content-length 服务端回应的数据长度 content-type 告诉客户端用什么格式的数据 Accept表示自己接受什么格式的数据 content-encoding表示数据压缩方式

get和post的区别?
get是向服务端请求数据,而post是提交数据然后说个例子,get是幂等的而post不是幂等的。

http特性

优点简单 灵活易于拓展 http里面的东西都没有被固定死,而且位于最上层,下层可以随意变化举例子例如https下面加了一层SSL/TLS,http/3把下层的tcp换成了udp 应用广泛跨平台
缺点无状态的双刃剑服务器对其没有记忆所以不需要与他有关联,但是同时关联操作也是十分麻烦,比较简单的方式就是用Cookie,明文传输 方便调试但是不安全*(与https进行对比引入https)
内容明文 身份是假的 内容可能被篡改

http1.1性能如何
http1.1 使用长连接与1.0相比每次请求都有个连接。减少了连接次数自然减轻了负担。长连接可以管道通信 问题:对头阻塞。前面的收不到后面的就不发,因为是请求应答模式之后收到了回复才会继续发送

https与http
安全与不安全,端口不一样
混合加密保证了不会别看到明文,摘要算法保证信息完整性 数字证书保证不会被冒充
混合加密:tcp连接后
在这里插入图片描述
http/2优化
头部压缩原理一个算法共同维护一个同步表记录索引
二进制格式 增加了数据的传输效率
具有优先级
多路复用不用按顺序一一对这回应
服务器可以主动发消息例如可以提前发一些静态资源文件之类的
缺陷:多个请求公用一个tcp一旦丢包就会阻塞住所有的http请求
http/3下层改为了udp

键入url之后会发生什么
第一步先解析url,然后生成http请求信息,然后去找dns服务器,然后通过tcp(三次握手来了)然后通过ip协议 然后通过mac走路由然后到目的地一层层扒皮

tcp与udp的区别
连接, 服务对象一对一之类,可靠性, 拥塞控制流量控制, 首部开销,传输方式tcp流保证顺序和可靠,udp包,
三次握手原因:
避免历史连接,如果旧的连接比新的连接先抵达,那么客户端就回复一个rst报文告诉服务端终止这次连接。
同步双方序列号 可靠传输就靠这些序列号 三次握手才能保证双方同步知道
避免资源浪费假如SYN被阻塞住了客户端就会发送多了那就会产生多个冗余的连接造成资源的浪费。都举个例子,例如两次握手会怎么样

四次挥手 timewait等待时间大于报文来回时间一点,为了保证对面能够正确的关闭连接防止资源的浪费。

拥塞控制 慢启动先指数增长然后到达慢启动门限,开始拥塞控制算法线性增长。当发生拥塞更新慢启动门限为发生拥塞时的二分之一再来。快速恢复算法:既然能收到连续三个ack网络还可以慢启动门限还是发生拥塞时的二分之一,但是开始是慢启动门限+3直接开始拥塞避免算法防止急刹车。

ping命令
是应用了ICMP协议的命令 ICMP协议是ip协议的帮手
在这里插入图片描述
ping命令的时候先构建一个ICMP数据包类型是8序号是1(序号是为了区别多个ping数据包)然后记录发送时间然后把目的地址ip交给ip层然后又再加上mac头就送出去了,然后如果b目的主机收到了就构造一个类型为0的ICMP包送回去

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值