【Android面试】计算机网络面试题整理(二)

一、网页中输入url,到渲染整个界面的整个过程,以及中间用了什么协议?

1)过程分析:主要分为三步

  • DNS解析。用户输入url后,需要通过DNS解析找到域名对应的ip地址,有了ip地址才能找到服务器端。首先会查 找浏览器缓存,是否有对应的dns记录。再继续按照操作系统缓存—路由缓存—isp的dns服务器—根服务器的顺 序进行DNS解析,直到找到对应的ip地址。
  • 客户端(浏览器)和服务器交互。浏览器根据解析到的ip地址和端口号发起HTTP请求,请求到达传输层,这里也 就是TCP层,开始三次握手建立连接。服务器收到请求后,发送相应报文给客户端(浏览器),客户端收到相应 报文并进行解析,得到html页面数据,包括html,js,css等。
  • 客户端(浏览器)解析html数据,构建DOM树,再构造呈现树(render树),最终绘制到浏览器页面上。

2)其中涉及到TCP/IP协议簇,包括DNS,TCP,IP,HTTP协议等等。

二、具体介绍下TCP/IP

TCP/IP一般指的是TCP/IP协议簇,主要包括了多个不同网络间实现信息传输涉及到的各种协议 主要包括以下几层:

  • 应用层:主要提供数据和服务。比如HTTP,FTP,DNS等
  • 传输层:负责数据的组装,分块。比如TCP,UDP等
  • 网络层:负责告诉通信的目的地,比如IP等
  • 数据链路层:负责连接网络的硬件部分,比如以太网,WIFI等

三、HTTP的几种请求方法具体介绍

  • GET 获取资源,没有body,幂等性
  • POST 增加或者修改资源,有body
  • PUT 修改资源,有body,幂等性
  • DELETE 删除资源,幂等性

四、HTTP请求和响应报文的格式,以及常用状态码。

1)请求报文:

//请求行(包括method、path、HTTP版本)
GET /s HTTP/1.1
//Headers
Host: www.baidu.com
Content-Type: text/plain
//Body
搜索****

2)响应报文

//状态行 (包括HTTP版本、状态码,状态信息)
HTTP/1.1 200 OK
//Headers
Content-Type: application/json; charset=utf-8
//Body
[{"info":"xixi"}]

3)常用状态码 主要分为五种类型:

  • 1开头, 代表临时性消息,比如100(继续发送)
  • 2开头, 代表请求成功,比如200(OK)
  • 3开头, 代表重定向,比如304(内容无改变)
  • 4开头, 代表客户端的一些错误,比如403(禁止访问)
  • 5开头, 代表服务器的一些错误,比如500
#android面试#
全部评论
真的很需要!马住!
点赞 回复 分享
发布于 2023-02-14 12:21 辽宁
多谢大佬指教
点赞 回复 分享
发布于 2023-02-14 13:03 安徽
感谢
点赞 回复 分享
发布于 2023-05-08 08:54 安徽

相关推荐

03-13 20:28
已编辑
门头沟学院 Java
已经一年没发牛客了,为什么呢,因为没脸发... 一年前的我自认为在25届中技术一流,八股无敌,项目出色,但是一年校招的蹉跎让我差点转行。24年春招收割了十几个实习 offer 之后我去了某家大厂实习到9月份转正失败,那时候的我还没有意识到噩梦将来,7月因为投秋招提前批没反馈,于是开始投了几个实习转正岗位练手又拿了3个中大厂 offer,这时的我沉浸在我自以为是的骄傲里。9月秋招正式批开始后我几乎把我能找到的所有的岗位都投了一遍,只收获了大厂海笔,0面试。10月份第一家给我面试的公司是数字马力(蚂蚁的内包),诚恳的说,当时收到这家面试是嚣张的,觉得我拿这个 offer 如探囊取物,就当个保底吧。...
中街牛奶提子:是啊,不应该在秋招的时候继续投实习岗。也劝26届的,八月末后,实习岗就不应该投,给人错误的行情认知。佬是学院本,觉得约面难,双非何尝不是一样呢,秋招战场的激烈和实习完全不同。当时我秋招的时候也是边面实习,当时面实习面一个过一个觉得自己很优越,觉得能收获一堆实习offer那秋招肯定也行。为什么要在秋招拿一堆实习offer增强自己所谓的虚荣心,当时就是贱,为了所谓的攀比虚荣心
点赞 评论 收藏
分享
评论
5
43
分享

创作者周榜

更多
牛客网
牛客企业服务