在浏览器中输入www.baidu.com后执行的全部过程

1, 依题主所假设的,在浏览器的地址栏输入http://www.baidu.com,这个时候,浏览器将会运行Hypertext Transfer Protocol(Hypertext Transfer Protocol,HTTP),这是一个应用层协议。

2, 通过域名系统Domain Name SystemDNS),浏览器获得域名的IP地址(百度的IP:202.108.22.5/),这个域名系统也是运行在应用层上的。

3, 这个时候,浏览器已经产生一个HTTP包了,包头带着一个数据信息,表达的意思类似于在说:“度娘度娘,我要你的主页。”

4, 下图所示是浏览器与服务器之间的通信时,HTTP所起的作用(注意,这个时候通信还没开始,这个图只是为了说明HTTP所扮演的角色)

5, 浏览器将这个HTTP信息包交给TCP(传输控制协议)( Transmission Control Protocol),该协议运行于传输层。这是一个相邻的层之间进行交互的例子,较高层级(如HTTP)向较低层级(如TCP)表达服务需要,较低层级给较高层级提供服务。这种相邻层级的交互持续进行,直到抵达最底层。TCP的主要功能是与百度服务器的TCP程序进行连接并建立会话,就像在两者之间建立起一个管道那样,使两者之间的数据得以交互。

6, 直到这个时候,信息包仍然呆在你的电脑里面,没有发出去呢。这个时候,TCP将TCP信息包转发给IP层(Internet Protocol)。 这是个网络层协议。IP的重要功能是寻址和路由,找到一条通往百度的IP地址的最优数据通路。就像一个邮局把你的信件寄到收件人那样。同时,IP将自己的信息加到原有的数据包上,形成新的数据包。

7, 注意,直到这个时候,数据包还在你的电脑上呢,现在,数据包将由IP层交到网络接口层(network interface layer)。这个层定义了通过物理网络输出数据所需的协议与硬件要求。多数电脑使用以太网(Ethernet)。电脑这个时候将IP数据加上以太网帧头和帧尾打包成以太网帧。
8, 这个时候,电脑就可以传输以太网帧的物理数据了,使用真正的电信号走网线传输了。数据包也在这个时候真正离开电脑。当这些电信号到达百度的服务器时,这些电信号将被重新翻译成二进制数据。服务器将对这个数据包进行解析,过程与上述形成该数据包的过程相反。


1. 首先嘛,你得在浏览器里输入要网址:

2. 浏览器查找域名的IP地址

3. 浏览器给web服务器发送一个HTTP请求

4. facebook服务的永久重定向响应.服务器给浏览器响应一个301永久重定向响应,这样浏览器就会问“http://www.facebook.com/” 而非“http://facebook.com/”。

5. 浏览器跟踪重定向地址.浏览器知道了“http://www.facebook.com/”才是要访问的正确地址,所以它会发送另一个获取请求:

6. 服务器“处理”请求.服务器接收到获取请求,然后处理并返回一个响应。

7. 服务器发回一个HTML响应.

8. 浏览器开始显示HTML.

9. 浏览器发送获取嵌入在HTML中的对象。在浏览器显示HTML时,它会注意到需要获取其他地址内容的标签。这时,浏览器会发送一个获取请求来重新获得这些文件。

10. 浏览器发送异步(AJAX)请求。




1、客户端浏览器通过DNS解析到www.baidu.com的IP地址220.181.27.48,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到220.161.27.48,然后通过TCP进行封装数据包,输入到网络层。

2、在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。然后使用IP层的IP地址查找目的端。

3、客户端的网络层不用关系应用层或者传输层的东西,主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的工作,我不作过多的描述,无非就是通过查找路由表决定通过那个路径到达服务器。

4、客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以使用ARP的请求应答交换的IP数据包现在就可以传输了,然后发送IP数据包到达服务器的地址




  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
.确认(verifation)和断言(assert)有什么区别? 确认:当测试的一个用例存在错误时,系统将会继续运行这些测试 断言:当测试的一个用例存在错误时,系统将会退出当前用例 总而言之,确认和断言的不同在于,当出现错误情况之后,系统将会如何处理。 .test case 和testsuite的区别? test case是一个用例 test suite是一组用例 7.selenium IDE, selenium core, selenium core hta, selenium rc四者的概念以及它们之间的区别? selenium IDE(集成开发环境)。它是一个firefox的插件,可以录制、回放并编辑测试脚本 selenium Core(核心)。这是符合断言机制,由测试套件执行的平台。它是整个测试机制的核心部分,由纯javaScript代码组成 selenium Core Hta.这是针对IE设计的执行平台,运行于IE的最高字全级别之上。 selenium Remote Control(远程控制):它是一个代理与控制端,可代替selenium core/selenium DIE的客户端,并支持多语言 8.能不能在IE录制脚本吗? 不能,只能在firefox安装selenium IDE,而只有selenium IDE才存在录制的功能。 如果想测试一些,不能在firefox正常显示的程序,则只有安装selenium RC,然后自己编写测试脚本,只有这样,脚本才能在ie运行。 12.怎样安装多窗口模型? (1)启动selenium-server时,输入以下的命令:java-jar selenium-server.jar -multiwindow。则会在两个窗口显示运行结果 (2)启动selenium-server时,输入以下的命令:java -jar selenium-server.jar -singlewindow。则会在一个窗口显示运行结果 15.怎样访问变量? ${变量名} 16.在录制的过程,遇到了提示框的话,要怎样处理才能在正常的回放? 17.录制到邮件的时候,不能正常录制,要如何处理呢? 录制的时候,首先要指定要框架,然后再输入文本。 例如:邮件通过firebug定位为: 在selenium ide则需要手动的输入以下的内容: 再输入一条以下的命令:selectFrame relative=top 则,此时的脚本就能正常的运行了。 18.录制到组件的时候,不能正常录制,要怎样处理? 例如:上传附件(以及其它一些要上传的东西),刚发现附件并不是不能录制,而是你在界面的定位不是很清楚,selenium不能识别。 19.录制时,会跳出多个窗口,此时要怎样处理? 存在四种解决方法,可以参考http://www.boobooke.com/bbs/viewthread.php?tid=41824&highlight=selenium的第七集 具体方法如下:(1)java可用如下的代码:String[] titles =selenium.getAllWindowTitles(); //得到所有窗口的标题 selenium.selectWindow("title="+titles[titles.length-1]); //选择最后打开的一个窗口 selenium.close(); //关闭最后打开的一个窗口 selenium.selectWindow("null"); //重新聚集在最开始的一个窗口(只有两个窗口的时候) (2)java可用如下的代码:selenium.click("link=????"); 换成如下的两行代码 String url = selenium.getAttribute(link=????@href); selenium.open(url); 注:此方法也存在一定的缺陷,就是不能验证click点击事件是否正确。 (3)利用javascript去掉原代码的target="_blank"的属性(目前为止还不清楚) (4)这种方法不清楚,看的不是很懂 20.什么是window
The following text is amended on 12 November 2020. The following text is amended on 12 November 2020. 服务器配置全文共8页,当前为第1页。服务器配置 服务器配置全文共8页,当前为第1页。 服务器配置流程 目录 下载安装JDK 在百度搜索jdk7进行下载,注意只能安装jdk7的版本,双击下载好的安装包进行安装 服务器配置全文共8页,当前为第2页。这里可以点击"更改"更改安装路径,确定安装路径后继续点击下一步(路径最好不要有文)。 服务器配置全文共8页,当前为第2页。 安装好JDK后又弹出一个可以更改安装路径的界面,这里是安装JRE,选定刚才JDK安装的路径。(JDK,JRE功能差不多,一般放在一起),继续点击下一步。 点击关闭完成安装 配置JDK环境变量 桌面右键点击计算机-->属性-->高级系统设置-->高级-->环境变量 在系统变量新建JAVA_HOME 变量名:JAVA_HOME 变量值: JDK安装路径,就是刚才安装时所选择的路径,这个路径下包括lib,bin,jre等所有安装文件夹 在系统变量新建CLASS_PATH 名称:CLASS_PATH 变量值:[.;%Java_Home%\bin;%Java_Home%\lib\;%Java_Home%\lib\] (注意前面的.;不要丢) 在系统变量栏编辑Path变量值: 服务器配置全文共8页,当前为第3页。按键盘上的end键将光标移到最后加上[;%JAVA_HOME%\bin;%Java_Home%\jre\bin;](注意前面的分号不要重复) 服务器配置全文共8页,当前为第3页。 测试java环境是否配置成功 按下win+R键,输入cmd调出命令符控制窗口。依次输入: Java;javac;java -version 后查看是否显示正常。 下载Tomcat 打开游览器将复制到地址栏(或按住Ctrl键点击该链接) 点击进入下载列表 选择需要的版本点击下载(这里选择32/64位都能用的安装版) 安装Tomcat 双击下载好的安装包进行安装 下载安装MySQl 在浏览器打开后进入下载列表 下载页面有注册登录按钮,也有不用登录的选项(No thanks,just start my download.),选择不用注册登录选项,进入下载状态 下载完成后双击进行安装,如果出现下图的提示,就需要在网上下载一个.NET 安装 服务器配置全文共8页,当前为第4页。安装完成.NET 后再次双击安装数据库 服务器配置全文共8页,当前为第4页。 下载安装Navicat 在浏览器输入进入下载列表 下载后双击进行安装,可选择安装地址,默认点击下一步安装完成 打开Navicat时会提示输入注册码,可通过购买或者使用注册机完成认证,如果使用注册机需要在网上下载一个Navicat对应版本或者全产品版本的注册机,下载完成后双击打开选Navicat的启动文件点击打开就完成注册了 导入数据库 打开nervicat点击链接—>MySQL 双击打开刚才新建的连接,右键新建数据库,输入数据库名字选择utf8字符集 选新建的数据库右键选择[运行SQL文件],选择SQL文件点击执行 设置数据库空闲超时时间 查看数据库空闲超时时间:输入[show global variables like 'wait_timeout';]点击回车后效果如下: 设置数据库空闲超时时间:输入[set global wait_timeout=2592000;]点击回车后效果如下: 服务器配置全文共8页,当前为第5页。设置访问服务器数据库的权限,%表示所有IP地址都能访问 服务器配置全文共8页,当前为第5页。 配置https环境 进入的JDK下的bin目录 同时按住键盘的win+R键,在输入框内输入cmd点击确定 切换到JDK的bin目录下输入如下指令keytool -v -genkey -alias tomcat -keyalg RSA -keystore E:\zlzjfiles\ 注意事项: E:\zlzjfiles\是将生成的放到E盘的zlzjfiles文件夹下。注意若要放到c盘,在win7系统下,需要以管理员身份进入到命令行进行操作,否则是无法创建的。 如何以管理员身份进入到命令行下呢开始->搜索框输入cmd->等待(注意不回车)->出现>右键"以管理员身份运行"即可。 创建keystore文件 注意事项: 密码任意,此处以123456为例,要记住这个密码,之后在进行配置时需要使用。输入名字、组织单位、组织、市、省、国家等信息输入之后会出现确认的提示此时输入y,点击回车键后要求输入刚才设置的tomcat密码。 服务器配置全

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值