您的位置:首页 > 理论基础 > 计算机网络

电脑上访问一个网页,整个过程是怎么样的:DNS、HTTP、TCP、OSPF、IP、ARP。

2016-09-22 09:50 417 查看
用于笔试面试,整理的比较浅显,有什么不对的希望指正。

应用层:

1. DNS(53):

我们输入的是一个URL需要转化成IP地址。首先我们知道我们本地的机器上在配置网络时都会填写DNS,这样本机就会把这个url发给这个配置的DNS服务器,如果能够找到相应的url则返回其ip,否则该DNS将继续将该解析请求发送给上级DNS,整个DNS可以看做是一个树状结构,该请求将一直发送到根直到得到结果。

2. HTTP(80)

HTTP协议的主要职责是生成针对目标web服务器的http请求报文(请求行、请求头部)

传输层

3. TCP

将http请求报文分割成报文段,按序号分为多个报文段。(三次握手)

网络层

4. IP

搜索目标的地址,一边中转一边传送。(路由)

5. ARP

因为最终都要在数据链路层上进行传输,而数据链路层并不认识IP地址,所以ARP的职责就是把IP地址转换成数据链路层认识的MAC地址。

通过数据链路层到达目标机器之后。

网络层

6. RARP

这其实是ARP的逆过程,将MAC地址转换成Ip地址

传输层

7. TCP

将接收到的报文段按序号进行重组。

应用层

8. HTTP

HTTP协议对http请求进行解析处理。这里以javaweb为例:



① 客户端的所有请求都交给前端控制器DispatcherServlet来处理,它会负责调用系统的其他模块来真正处理用户的请求。

② DispatcherServlet收到请求后,将根据请求的信息(包括URL、HTTP协议方法、请求头、请求参数、Cookie等)以及HandlerMapping的配置找到处理该请求的Handler(任何一个对象都可以作为请求的Handler)。

③在这个地方Spring会通过HandlerAdapter对该处理进行封装。

④ HandlerAdapter是一个适配器,它用统一的接口对各种Handler中的方法进行调用。

⑤ Handler完成对用户请求的处理后,会返回一个ModelAndView对象给DispatcherServlet,ModelAndView顾名思义,包含了数据模型以及相应的视图的信息。

⑥ ModelAndView的视图是逻辑视图,DispatcherServlet还要借助ViewResolver完成从逻辑视图到真实视图对象的解析工作。

⑦ 当得到真正的视图对象后,DispatcherServlet会利用视图对象对模型数据进行渲染。

⑧ 客户端得到响应,可能是一个普通的HTML页面,也可以是XML或JSON字符串,还可以是一张图片或者一个PDF文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: