avatar-decorate
哈工程第十一深情 level
京东零售_后端开发工程师 identity
获赞
474
粉丝
140
关注
12
看过 TA
4545
哈尔滨工程大学
2024
Java
IP属地:北京
伴久了会依赖
私信
关注
面试经典网络问题之——解释打开网站的整个过程/使用了什么协议/输入一个URL之后到你得到页面信息,发生了什么?思来想去,从这个问题入手,来说明我个人对于八股的一个套路与想法,在答出问题的基础上,去发散,去多说,去掌握主动权。初步回答:打开一个网页,从输入url到页面的整个渲染,包含DNS解析、TCP 连接、连接成功之后发送 HTTP 请求,随后服务器处理请求并返回 HTTP 报文,浏览器解析渲染页面,连接结束。之后根据每一个部分,去做补充与发散1.DNS域名解析,将输入的url解析为对应的ip。2.建立连接,是浏览器通过获取到的目标ip地址,通过tcp协议与目标服务器建立连接。整个过程涉及到了TCP协议的三次握手,来保证了客户端和服务端之间的一个可靠通信。3.浏览器在发送http请求的过程中,请求包含了用户想要访问的资源信息(页面文件、图片、样式表)。4.服务器接收到请求之后,会解析请求并查找相应的资源,返回http响应。5.浏览器接受到服务器的相应之后,得到响应资源文件,并根据资源文件类型进行页面渲染。1.从dns的解析流程可以继续拓展出dns自顶向下的层级和工作流程。2.从建立连接可以继续拓展说出具体的三次握手(以及后续四次挥手)的流程。3.从http请求可以扩展出请求的方法,请求头,请求体(post),如果是https的请求,还会先建立一个ssl/tls加密通道。4.从http响应可以扩展出响应的状态码,响应头,响应体。其中常见的状态码值得一说。由浅入深,从一个问题出发,答的多一些,主动性多一些,也能体现你对知识的融会贯通和你沉淀的深度。(如果被面试官无情打断当我没说哈哈哈哈哈哈哈(bushi)),求职人加油!
牛客创作赏金赛
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务