其实计算机网络一般Java程序员也不用了解,但如果你很清楚网络知识,一定会让面试官刮目相看。
1、HTTP 状态码有哪些,一一解释含义
500 Internal Server Error 请求未完成。服务器遇到不可预知的情况。
400 Bad Request 服务器未能理解请求。
404 Not Found 服务器无法找到被请求的页面。
304 Not Modified 未修改的文档。客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。
200 OK 请求成功(其后是对GET和POST请求的应答文档。)
100 服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求。
1xx 消息
2xx 成功
3xx 重定向
4xx: 客户端错误
5xx: 服务器错误
2、HTTP 请求头有哪些,介绍平时见过的,怎么利用这些信息来进行前后端调试
Host, 请求的域名
User-Agent,用户的浏览器版本信息
Accept,响应的内容类型
Accept-Language, 接受的语言
Accept-Encoding, 可接受的编码方式
Cookie,本地的 Cookie 信息
if-Modified-Since, 本地有缓存,如果在那之后没有做修改,则可以直接使用本地缓存。
3、TCP 和 UDP 的区别
4、TCP 如何保证可靠性
累计确认
超时重传
超时间隔加倍
快速重传
5、拥塞控制与流量控制的区别
流量控制是由接收方来控制的,拥塞控制由当前的网络环境来控制。
6、OSI七层模型,每层对应的协议有哪些,每层有何含义
7、网络浏览器访问一个网址发生了什么过程
HTTP 协议基于 TCP,建立连接需要经过三次握手,并且该连接是长连接,即keep-alive
IP 数据包在网络传输中还需要经过域间选路和域内选路。
若长时间接收不到应答,TCP 会进行重传和拥塞控制。
BLABLABLA...
浏览器缓存
操作系统缓存
路由器缓存
本地 DNS 服务器
如果本地 DNS 服务器上没有的话,它会递归的从根 DNS 服务器、顶级 DNS 服务器、权威 DNS 服务器请求,然后把获取到的 IP 返回给浏览器(DNS 协议基于 UDP)。
在地址栏输入 URL,并回车
浏览器查询域名的 IP。一般会有以下几个地方:
浏览器向 web 服务器发送 HTTP 请求
web 服务器处理请求
web 服务器回传一个 HTTP 相应
浏览器接收到以后解析 HTML并显示
浏览器请求嵌入在 HTML 中的对象
最终浏览器呈现一个图文并茂的页面
8、Cookie 和 Session 的区别
Session 是存储在服务器端的,Cookie 是存储在客户端的 //TODO
9、HTTP1.0 和 1.1 的区别
最主要的区别是 1.1 支持持久连接。Connection 请求头的值为 Keep-Alive 时,客户端通知服务器返回本次请求结果后保持连接;Connection 请求头的值为 close 时,客户端通知服务器返回本次请求结果后关闭连接。
1.1 支持断点续传。RANGE:bytes=XXX表示要求服务器从文件 XXX 字节处开始传送
还有一些其他的改进,有兴趣可以自行查阅相关资料
10、HTTP 和 HTTPS 的主要区别
安全。HTTP 直接与 TCP 通信,而 HTTPS 是先与 SSL(加密) 通信,然后再由 SSL 和 TCP 通信
11、滑动窗口算法
又称回退 N 步(go-back-N),发送方的窗口滑动是由接收方是否已成功收到数据包来决定的。即接收方的窗口向前滑动后发送方的窗口才会向前滑动。//TODO
12、域名解析详细过程
13、IP 地址分为几类,每类都代表什么,私网是哪些
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
A:前 1 byte 为网络标识,剩下的是主机标识
B:前 2 bytes 为网络标识
C:前 3 bytes 为网络标识
D:为多播地址,最高位为 1110
E:特殊 IP。例如 0.0.0.0,127.0.0.1,255.255.255.255 等等
私网
14、IP 头组成;
15、计算机网络中的同步和异步
16、发现百度上不去,怎么办
查看 DNS 解析是否正确。若有错误,删除本地 DNS 缓存
若 DNS 没有问题,使用 traceroute 检测路径,若路径不通则说明网路阻塞,暂时就别上网了
traceroute 没有问题,ping 也能通一般就是服务器端出问题了。

网友评论