计算机网络面试题

1.http状态码

400 Bad Request 请求出现语法错误。
401 Unauthorized 客户试图未经授权访问受密码保护的页面。应答中会包含一个WWW-Authenticate头,浏览器据此显示用户名字/密码对话框,然后在填写合适的Authorization头后再次发出请求。
403 Forbidden 资源不可用。服务器理解客户的请求,但拒绝处理它。通常由于服务器上文件或目录的权限设置导致。
404 Not Found 无法找到指定位置的资源。这也是一个常用的应答。
405 Method Not Allowed 请求方法(GET、POST、HEAD、DELETE、PUT、TRACE等)对指定的资源不适用。(HTTP 1.1新)
406 Not Acceptable 指定的资源已经找到,但它的MIME类型和客户在Accpet头中所指定的不兼容(HTTP 1.1新)。
407 Proxy Authentication Required 类似于401,表示客户必须先经过代理服务器的授权。(HTTP 1.1新)

502 Bad Gateway 服务器作为网关或者代理时,为了完成请求访问下一个服务器,但该服务器返回了非法的应答。
503 Service Unavailable 服务器由于维护或者负载过重未能应答。例如,Servlet可能在数据库连接池已满的情况下返回503。服务器返回503时可以提供一个Retry-After头。
504 Gateway Timeout 由作为代理或网关的服务器使用,表示不能及时地从远程服务器获得应答。(HTTP 1.1新)

2.http请求的几种方法

image.png
  • get
  • post
    创建资源,因此不是幂等的
  • put
    更新资源,资源本身不变,因此是幂等的
  • head
    获取首部
  • delete
  • options
  • patch

3.http版本

  1. http1.0
  • 短连接
    2 http1.1
  • Connection为keep-Alive和Close对应长连接和短连接
  • 发送方不用等上一次的响应就可以发送下一次请求
  • 支持断点续传
  • 增加了一些header(与缓存控制、)
  • Delete Options的添加
    3 http2.0
  • 二进制分帧
    不同数据流的帧可以交错发送。
    同个域名只需要占用一个 TCP 连接,消除了因多个 TCP 连接而带来的延时和内存消耗。
    单个连接上可以并行交错的请求和响应,之间互不干扰
  • 服务端推送
    请求index.html时,会自动请求里面包含的js img等资源
  • 首部压缩
    和之前的header相同则不需要重复发送

4.tcp滑动窗口

  • 接收方根据自己接收缓存的大小,告诉发送方窗口的大小设置为多少它才来得及接受。
  • 发送方窗口为min(拥塞窗口,接收方告诉的窗口)


    image.png

5.tcp三次握手

客户端发送的一个请求由于在中间节点延时,以致于等到连接释放后再重新到达服务端。那么如果采用两次握手,只需要server端发送确认就认为建立了连接。这样建立连接后客户端不理睬服务端的确认,导致server一直重发,进而浪费服务端资源,而采用三次握手就可以解决。


image

6.tcp四次挥手

image

7.tcp最后一次要多等一段时间

最后一次报文可能丢失,如果server端没有收到最后一次报文,会不断重发第三次的报文,因此客户端不能立刻关闭。从最后一次报文发送到server重新发第三次的报文总共是2MSL(两个报文最长存活时间,因此要等2MSL)

8.tcp的拥塞控制

对网络带宽需求的总和 > 可用资源
方式一:


image.png

方式二:收到三个冗余ack执行快重传和快恢复


image.png

9.tcp和udp

  • tcp面向连接,保证可靠传输,udp无连接,不可靠
  • tcp慢,udp快

10.OSI七层

1.应用层
  • DNS(53) HTTP(80) SMTP(25)
  • 定义应用进程之间通信的规则
2.运输层
  • 提供端到端的服务(进程到进程)
3.网络层
  • 分组传输 路由
4.数据链路层
  • 比特流封装 点到点 物理寻址
5.物理层
  • 物理设备的标准 电气特性(高电平代表什么含义)

11.输入url的过程

12.DNS过程

总共13个根域名服务器
缓存:
浏览器缓存 系统缓存 路由器缓存 ISP服务器缓存 根域名服务器缓存 顶级域名服务器缓存 二级域名服务器缓存


image

13.点到点和端到端

  • 端到端强调发送方和接收方建立一条逻辑链路,不知道中间点的存在。点到点枪强调把数据传给直接相连的设备,再传到另一台。
  • 端到端需要发送方始终参与,点对点不需要
  • 端对端建立连接后,发送端知道接收端一定能收到,而点对点的发送端不知道接收端能不能收到。

14.tcp如何保证可靠传输

  • 确认
  • 超时重传
  • 校验和
  • 流量控制
  • 拥塞控制
  • 序列号

15.tcp序列号的作用

接收端通过序列号确认前面的字节都收到了。使用随机的序列号的作用参考这里

16.https过程

  1. client向server发送请求https://baidu.com,然后连接到server的443端口,发送的信息主要是随机值和客户端支持的加密算法。

  2. server接收到信息之后给予client响应握手信息,包括随机值2和匹配好的协商加密算法,这个加密算法一定是client发送给server加密算法的子集。

  3. 随即server给client发送第二个响应报文是数字证书。证书包含了服务端的公钥和CA的签名(对证书的其他内容先摘要,再用CA私钥加密)和域名,公司等信息。

  4. 客户端解析证书,一方面通过浏览器内置的CA公钥将签名解密,另一方面,对证书的内容使用同样的摘要算法求哈希值,对比如果相等,则 生成一个随即值(预主秘钥)。

  5. 客户端使用服务端公钥加密随机值传给服务端

  6. 客户端和服务端根据三个共享的随机数生成会话密钥

  7. 客户端通过会话秘钥加密客户端发一个「Change Cipher Spec」,告诉服务端开始使用加密方式发送消息。再发一个「Encrypted Handshake Message(Finishd)」消息,把之前所有发送的数据做个摘要,再用会话密钥(master secret)加密一下,让服务器做个验证,验证加密通信是否可用和之前握手信息是否有被中途篡改过。

  8. 同样服务端和第7步一样

17.tcp粘包问题

为了传输更快,将多个数据包封装成一个大的数据包,导致接收方难以分辨出完整的数据包。
图示:


image.png

解决:

  • 发送方和接收方都以固定长度发送和接收
  • 发送数据包的尾部添加标记序列
  • 定义一个包头,包头里面说明下次要接收多少字节的数据
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容

  • 计算机网络作为程序员面试的基本题目,在回答面试官问题的时候不仅要抓住重点,还要回答出面试官的扩展问题。参考程序员(...
    企鹅不会飞_de90阅读 811评论 0 0
  • 1、谈下你对五层网络协议体系结构的理解? 学习计算机网络时我们一般采用折中的办法,也就是中和 OSI 和 TCP/...
    zhou1011阅读 656评论 0 0
  • 在秋招过程中看了大量面经,将常见的计算机网络面试题总结如下,并按照面试中提问的频率做了标注(星数越高,面试中提问频...
    dybaby阅读 430评论 0 4
  • 谈一下你对五层网络协议体系结构的理解 五层网络协议从下到上依次是物理层,数据链路层,网络层,传输层,应用层; 物理...
    木同_Mutong阅读 364评论 0 0
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 123,997评论 2 7