看完这篇,网络面试稳了!

2022-04-25 20:20:18 浏览数 (1)

你好,我是小牛。

前段时间写过一篇关于数据库的面试题,各方面反响还不错,参考如下:

【面试必备篇】数据库不得不知道的那些事

今天继续来聊聊面试,今天聊一聊网络,计算机网络是大学计算机核心专业课之一,也是考研必考专业课,重要性不用多说。

对于软件测试人员来说,为什么需要掌握一定的计算机网络知识呢?主要就在于接口测试,数据传输全部基于网络协议进行传输。

绝大部分的接口都是基于http协议,除此之外还有一些常见的比如webservice接口基于soap协议等等。

除此之外,掌握计算机网络知识可以帮你更好的理解整个计算机体系,互联网底层原理。

其它不多说,直接附上面试必考的计算机网络考点,学会面试网络这块就稳了。

一.http和https有什么区别?

1.https比http更加安全,传输数据进行加密传输。

2.http的端口号为80,https的端口号为443。

3.http无需证书,https需要CA机构颁发的SSL证书。

4.http工作于应用层,https工作于传输层。

二.说下cookies和session和token鉴权机制?

因为http协议是无连接,无状态的。简单来说就是为了节省服务器资源,客户端和服务端无法保持长时间连接,所以服务端无法记住该用户的状态。所以引入了鉴权机制。

用户在第一次登陆时,服务器会生成cookies给客户端,第二次登陆时客户端会带着之前的cookies来访问,这样服务端就可以判断是哪一个用户。

session是保存在服务端的,当用户登录时会生成session id保存在数据库,下次用户登录就可以识别该session进行判断是哪个用户。

token是另一种鉴权机制,跟cookies类似是由服务端生成token给到客户端,下次登录时或者调其它接口带上该token就可以判断出是哪个用户。

三.http协议请求的八种方式以及get和post有什么区别?

基于http协议的接口请求有八种方式分别为GET,POST,PUT,HEAD,DELETE,OPTIONS,TRACE,CONNECT。

最常问的就是get跟post有什么区别?

  1. get方式主要是将参数拼接到url上进行请求。post是将数据放到body里面进行请求。
  2. 因为请求方式的不同所以post比get更加安全,然而并不是,post请求只需要抓包一样可以看到参数,真正安全的话是需要进行加密请求。
  3. get方式提交的数据有1024字节限制,post无限制
  4. get主要是从服务器上获取数据,post用户提交数据,一般根据业务进行定义。

四.说下常见的响应状态码有哪些?

状态码主要是服务器返回的状态,根据状态码的不同就可以大概猜到是什么错误,主要有以下这些:

1XX:提示信息,表示请求已经接收,继续处理

2XX:成功,表示请求已经被成功接收,理解,接受。

3XX:重定向,要完成请求必须进行更进一步的操作。

4XX:找不到资源,一般是url错误,或者接口未发布等。

5XX:服务器错误,因为代码逻辑或者服务器资源导致的错误。

五.说下OSI七层网络模型,分别有什么作用?

OSI七层模型:是ISO组织研究的一种网络互连模型,目的是为了推荐所有公司使用这个规范来控制网络。七层模型从上到下分别为:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。大概作用如下图所示:

六.浏览器输入百度网址背后发生了什么?

1、首先,在浏览器地址栏中输入url,先解析url,检测url地址是否合法

2、浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容。若没有,则跳到第三步操作。

浏览器缓存:浏览器会记录DNS一段时间,因此,只是第一个地方解析DNS请求;

操作系统缓存:如果在浏览器缓存中不包含这个记录,则会使系统调用操作系统,获取操作系统的记录(保存最近的DNS查询缓存);

路由器缓存:如果上述两个步骤均不能成功获取DNS记录,继续搜索路由器缓存;

ISP缓存:若上述均失败,继续向ISP搜索。

3、在发送http请求前,需要域名解析(DNS解析),解析获取相应的IP地址。

4、浏览器向服务器发起tcp连接,与浏览器建立tcp三次握手。

5、握手成功后,浏览器向服务器发送http请求,请求数据包。

6、服务器处理收到的请求,将数据返回至浏览器

7、浏览器收到HTTP响应

8、浏览器解码响应,如果响应可以缓存,则存入缓存。

9、 浏览器发送请求获取嵌入在HTML中的资源(html,css,javascript,图片,音乐······),对于未知类型,会弹出对话框。

10、 浏览器发送异步请求。

11、页面全部渲染结束。

题目不多,但是每一道都是高频面试题目。掌握这些就完全没问题

0 人点赞