hc学习平台

 找回密码
 立即注册
搜索
热搜: 活动 交友 javakc
 › 学习交流 › Java Web开发 › 描述在浏览器中敲入一个网址并按下回车后所发生的事情(尽量详细)
查看: 1693|回复: 2
打印 上一主题 下一主题

描述在浏览器中敲入一个网址并按下回车后所发生的事情(尽量详细)

[复制链接]

2249

主题

0

帖子

0

博客

admin

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

跳转到指定楼层
楼主
发表于2015-04-11 22:14:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
WR

0

主题

1674

帖子

0

博客

WR

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2016-09-14 18:48:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

浏览器输入网址以后首先

步骤1:需要查找域名的ip地址,DNS查找过程如下

(1)浏览器缓存-浏览器的缓存DNS记录一段时间,操作系统没有告诉浏览器存放DNS记录的时间,这样不同浏览器会储存各自固定的一个时间(2)分钟到30分钟不等

(2)系统缓存-如果在浏览器缓存里没有找到需要的记录,浏览器会做一个系统调用(window里是gethostbyname)。这样便可获得系统缓存的记录

(3)路由器缓存-接下来,前面的查询请求发向路由器,他一般会有自己的DNS缓存

(4)SP DNS缓存-接下来要check的就是ISP缓存DNS服务。在这一般都能找到相应的缓存记录

(5)递归搜索-你的ISP的DNS服务器从根域名服务器开始进行递归搜索,从com顶级域名服务器到Facebook的域名服务器。一般DNS服务器的缓冲会有.com域名服务器中的域名,所以到顶级服务器的匹配过程不是那么必要的

步骤2:

浏览器给WEB服务器发送一个HTTP请求。请求中也包含浏览器存储该域名的cookies。可能你已经知道,在不同页面请求当中,cookies是与跟踪一个网站状态相匹配的键值。这样cookies会存储登陆用户名,服务器分配的密码和一些用户设置等,Cookies会以文本文档形式存储在客户机里,每次请求时发送给服务器

步骤3:服务的永久重定向响应

步骤4:浏览器跟踪重定向地址

步骤5:服务器”处理“请求

步骤6:服务器发挥一个html响应

步骤7:浏览器开始显示HTML

步骤8:浏览器发送获取嵌入在HTML中的对象

0

主题

1451

帖子

0

博客

gaoye

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2016-09-20 11:52:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

Servlet 运行过程:

(1) 用户点击提交按钮,浏览器按照form表单生成请求格式,向action对应的url发出请求。

(2) 根据ip地址找到硬件服务器,根据端口号找到tomcat服务器,在webapps文件中找到对应的web应用。
(3) Web应用首先找到配置文件web.xml
(4) 匹配对应的Servlet类:通过url-pattern找到servlet-name,通过servlet-name找到servlet-class,就找到了servlet类的全路径。
(5) 容器根据servlet类的全路径,创建Servlet类的实例,调用service方法(回调方法)
(6) 根据请求的方法(get或post)执行Servlet类中的doGet或doPost方法
(7) 在doGet或doPost方法中完成两个功能:接收请求(request.getParameter()),产生响应(out.print())。
(8) 产生的html代码返回到客户端的浏览器。
沙发
发表于2016-09-20 18:24:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.语法解析网址,如果你的网址不合法则抛异常,比如 
你录入 http://www.baidu.com 浏览器就调用http协议 
录入 ftp://ftp.tsinghua.edu.cn 浏览器就调用ftp协议
录入浏览器不识别的协议则报错
以下只针对http协议
2.查询cache
网址被分段解析后,浏览器首先在本地缓存查询cache,如果cache被标明是最新的则直接使用缓存内容。
3.DNS解析(可选)
向dns缓存服务(DNS client)或服务器查询域名对应的ip
4.连接服务器(可选)
tcp/ip 连接服务器,如果已经有了被保持的连接,则复用此连接(Connection: Keep-Alive)
5.发送http请求
向指定ip发送请求,具体http header定义查看 rfc文档
例如如果本地有cache但不能确定是否是最新的cache则发送
If-Modified-Since 和 If-None-Match 头
6.接收服务器响应
如果服务器响应为重定向(301或302)则浏览器必须取响应的Location ,然后重复1-6步骤。
如果服务器响应为304,则浏览器使用本地cache
如果响应为200,则接收具体的数据。
7.断开同服务器的连接(可选)
如果服务器响应为Connection: Keep-Alive,则需要保持连接,备后继http使用
8.写cache
将可以缓存的内容保存到cache

0

主题

1458

帖子

0

博客

梦紫菱0124

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2016-09-21 18:56:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

1、语法解析网址如果你的网址不合法则抛出异常

2、查询cache,网址被分段解析后,浏览器首先在本地缓存中查询cache,如果cache被标明是最新的则直接使用缓存内容

3、DNS解析

向dns缓存服务(DNS client)或服务器查询域名对应的ip

4、连接服务器

tcp/ip握手连接服务器,如果已经有了被保持的连接,则服用此链接

5、发送http请求

向指定ip发送请求,具体http header 定义查看rfc文档。例如如果本地有cache但不能确定是否是最新的cachezefasong

6、 接收服务器响应

如果服务器响应为重定向则浏览器必须取响应的location,然后重复上述步骤

7、断开桶服务器的连接

如果服务器响应为Connection keep-Alive,则需要保持连接,被后继http使用

0

主题

1721

帖子

0

博客

XIAOC

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2016-09-22 10:56:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

1.根据url找到相应的服务器;

2.根据IP找到相应的硬件服务器,根据端口找到相应的服务器,根据应用名找到相应的web应用,根据文件找到相应的文件

0

主题

1932

帖子

0

博客

740317431

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2017-08-26 11:01:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

浏览器输入网址之后,首先  

步骤1:需要查找域名的IP地址,DNS查找过程如下:  

(1)浏览器缓存 – 浏览器的缓存DNS记录一段时间。 有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器会储存各自固定的一个时间(2分钟到30分钟不等)。  

(2)系统缓存 – 如果在浏览器缓存里没有找到需要的记录,浏览器会做一个系统调用(windows里是gethostbyname)。这样便可获得系统缓存中的记录。  

(3)路由器缓存 – 接着,前面的查询请求发向路由器,它一般会有自己的DNS缓存。  

(4)ISP DNS 缓存 – 接下来要check的就是ISP缓存DNS的服务器。在这一般都能找到相应的缓存记录。  

(5)递归搜索 – 你的ISP的DNS服务器从跟域名服务器开始进行递归搜索,从.com顶级域名服务器到Facebook的域名服务器。一般DNS服务器的缓存中会有.com域名服务器中的域名,所以到顶级服务器的匹配过程不是那么必要了。  

步骤2:浏览器给web服务器发送一个HTTP请求。请求中也包含浏览器存储的该域名的cookies。可能你已经知道,在不同页面请求当中,cookies是与跟踪一个网站状态相匹配的键值。这样cookies会存储登录用户名,服务器分配的密码和一些用户设置等。Cookies会以文本文档形式存储在客户机里,每次请求时发送给服务器。  

步骤3:服务的永久重定向响应  

步骤4:浏览器跟踪重定向地址  

步骤5:服务器“处理”请求  

步骤6:服务器发回一个HTML响应  

步骤7:浏览器开始显示HTML   

步骤8:浏览器发送获取嵌入在HTML中的对象

0

主题

1902

帖子

0

博客

王之神判

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2017-08-26 11:04:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
浏览器输入网址之后,首先  
步骤1:需要查找域名的IP地址,DNS查找过程如下:  
(1)浏览器缓存 – 浏览器的缓存DNS记录一段时间。 有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器会储存各自固定的一个时间(2分钟到30分钟不等)。  
(2)系统缓存 – 如果在浏览器缓存里没有找到需要的记录,浏览器会做一个系统调用(windows里是gethostbyname)。这样便可获得系统缓存中的记录。  
(3)路由器缓存 – 接着,前面的查询请求发向路由器,它一般会有自己的DNS缓存。  
(4)ISP DNS 缓存 – 接下来要check的就是ISP缓存DNS的服务器。在这一般都能找到相应的缓存记录。  
(5)递归搜索 – 你的ISP的DNS服务器从跟域名服务器开始进行递归搜索,从.com顶级域名服务器到Facebook的域名服务器。一般DNS服务器的缓存中会有.com域名服务器中的域名,所以到顶级服务器的匹配过程不是那么必要了。  
步骤2:浏览器给web服务器发送一个HTTP请求。请求中也包含浏览器存储的该域名的cookies。可能你已经知道,在不同页面请求当中,cookies是与跟踪一个网站状态相匹配的键值。这样cookies会存储登录用户名,服务器分配的密码和一些用户设置等。Cookies会以文本文档形式存储在客户机里,每次请求时发送给服务器。  
步骤3:服务的永久重定向响应  
步骤4:浏览器跟踪重定向地址  
步骤5:服务器“处理”请求  
步骤6:服务器发回一个HTML响应  
步骤7:浏览器开始显示HTML   
步骤8:浏览器发送获取嵌入在HTML中的对象

0

主题

319

帖子

0

博客

wangjiaxing

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2017-10-13 17:25:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
发出请求  web stru2

0

主题

445

帖子

1

博客

灰羽

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2018-04-24 20:10:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
A


站点统计|举报|Archiver|手机版|小黑屋|Comsenz Inc.

GMT+8, , Processed in 0.195171 second(s), 9 queries .

Powered by javakc! X1.0

© 2004-2014 javakc

f1208.com 备案号:京ICP备14030918号-1

返回顶部