面试指南之计算机网络
本面试指南持续跟新
- 能说一下HTTP吗?
HTTP协议是超文本传输协议,是用户浏览器与服务器通信的一种协议,http协议基于TCP协议,是面向连接的协议,也就是浏览器与服务器请求会经历3次握手。目前大部分HTTP协议大部分都是1.1。1.1协议里面,出现了Keep-Alive的,这样的话建立的连接可以被复用。同时,HTTP协议是‘无状态’的协议,它无法记录客户端的状态,一般我们都是通过Session来记录客户端用户的状态。
- 能说说常见的状态码吗?
200 OK 请求成功
400 Bad Request 客户端请求的语法错误,服务器无法理解;请求的参数有误
401 Unauthorized 当前请求需要用户认证
403 Forbidden 被服务器已经理解请求,但是拒绝执行它
404 Not Found 服务器上没有找到对应资源
405 Method Not Allowed 客户端请求的方法不被允许
406 Not Acceptable 请求的资源的内容特性无法满足请求头中的条件,因而无法生成响应实体
500 Internal Server 服务器内部错误 - 能说说从输入URL到访问网站中间经历了什么吗?
- 分别经过浏览器缓存、本地Hosts文件、本地DNS服务器缓存中寻找域名对应的IP地址,如果都没有找到的话,则会请求DNS服务器查询IP地址。
- 找到IP地址后,则会向目标服务器发送HTTP请求
- 目标服务器接受请求后,处理对应的请求和参数,然后返回HTTP响应
- 浏览器接受响应,并渲染返回资源。
拓展:说说这个过程用了哪些协议
- 通过域名查找对应IP地址的话,使用了DNS
- 浏览器和服务器建立连接话,使用了TCP协议
- 在IP层传输报文,使用了IP协议,路由跳转的话使用了OSPF(开放最短路径优先协议),传输过程需要将IP转为MAC地址,用的是ARP协议。
- HTTP协议,毫无疑问用到了。