一、URL(Uniform Resource Locator)统一资源定位符,是可以从互联网上得到的资源的位置和访问方法的一种简洁表示,是互联网上标准资源的地址。互联网上的每一个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该如何处理它。

基本URL包含模式(协议)、服务器名称(IP地址)、路径和文件名,如:协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件名后缀?参数=值#标志。我们可以把URL分割成3个部分:协议、网络地址、资源路径。

协议是从该计算机获取资源的方式,常见的是HTTP、HTTPS、FTP,不同的协议有不同的通讯)内容格式;

网络地址指示该连接网络上的哪一台计算机,可以是域名或者IP地址,可以包括端口号(默认为80);

资源路径指示从服务器上获取哪一项资源。

二、DNS(Domain Name System)计算机域名系统,它是由解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应的IP地址,并具有将域名转化为IP地址的功能的服务器。其中域名必须对应一个IP地址,一个IP地址可以同时对应多个域名,但IP地址不一定有域名。

域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。将域名映射为IP地址的过程就称“域名解析”。在Internate上域名和IP地址是一对一或多对一的关系,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,他们之间的转换工作就称为域名解析,域名解析需要专门的域名解析服务器来执行,DNS就是进行域名解析的服务器。所以在上网输入网址时域名解析系统根据你输入的域名找到相对应的IP地址,这样才能上网,总结:域名的最终指向是IP。

三、TCP三次握手连接

当DNS解析完成后我们就拥有了目标IP和端口号,浏览器知道了服务器的IP地址之后就要根服务器的IP地址之后就要跟服务器建立连接了。

浏览器先发一个报文段,告诉服务器我想上你;服务器收到了之后回复说我准备好了,可以上;浏览器收到后回复我也准备好了,并告诉服务器:你已允许我上你了。三次握手之后,TCP连接就建立起来了,这时候浏览器就可以和服务器正式通讯了,也就是开始基于HTTP协议的信息交换。

四、HTTP通信

超文本传输协议(HyperText Transfer Protocol)是互联网上应用最广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP的最初目的是为了提供一种发布和接收HTML页面的方法。HTTP规定了客户机和服务器之间沟通的语言和规则

五、Servlet(Java的一个public interface)

servlets是这个公共接口的实现,servlets接收并响应客户端的请求。

ServletContainer(Servlet容器)是Web服务器或者应用服务器的一部分用于提供基于请求/响应发送模式的网络服务,解码基于MIME的请求,并且格式化基于MIME的响应。Servlet容器同时包含和管理他们的生命周期里Servlet。

六、浏览器渲染

当服务器提供了资源之后,浏览器获得数据,渲染网页然后呈现给用户,浏览器会执行操作:解析HTML,CSS,JS 渲染:构建DOM树,渲染,布局,绘制

渲染结束后,浏览器根据某些时间机制运行JS代码或与用户交互。

URL请求过程的更多相关文章

  1. 一次URL请求过程--tomcat

    一:请求的过程 1.DNS域名解析 2.建立TCP连接(三次握手) 3.发送请求--tomcat进行处理 4.四次挥手关闭连接 二:详解1---DNS域名解析 1.浏览器会检查缓存中有没有这个域名对应 ...

  2. 在浏览器中输入URL后,执行的全部过程。会用到哪些协议?(一次完整的HTTP请求过程)

    在浏览器中输入URL后,执行的全部过程.会用到哪些协议?(一次完整的HTTP请求过程) 整个流程如下: 域名解析 为了将消息从你的PC上传到服务器上,需要用到IP协议.ARP协议和OSPF协议. 发起 ...

  3. Objective-C中把URL请求的参数转换为字典

    上一篇博客中是把URL转换为字典,那么我们如何把URL请求中的参数封装成字典,然后再封装成数组呢?对OC中字符串操作熟练的小伙伴们应该觉得这是一个a+b的问题,没错把URL中的参数转换为字典主要是对字 ...

  4. ASP.NET 运行时详解 揭开请求过程神秘面纱

    对于ASP.NET开发,排在前五的话题离不开请求生命周期.像什么Cache.身份认证.Role管理.Routing映射,微软到底在请求过程中干了哪些隐秘的事,现在是时候揭晓了.抛开乌云见晴天,接下来就 ...

  5. web应用程序servlet的映射名称的规则及请求过程

    首先用MyEclipse创建一个web Project(工程名起为TestServletProject),新建一个Servlet(这里servlet的名字起TestServlet),将请求的servl ...

  6. zepto源码研究 - ajax.js(请求过程中的各个事件分析)

    简要:ajax请求具有能够触发各类事件的功能,包括:触发全局事件,请求发送前事件,请求开始事件,请求结束事件等等,贯穿整个ajax请求过程,这是非常有用的,我们可以利用这些事件来做一些非常有意思的事情 ...

  7. mvc请求过程总结

    前言 最近在思考一个问题,我的学习方法一般主要是看博客来学习新东西,但是光看,基本也没总结过,所以经常会出现这样的问题,某个知识点我知道,但是就是不能很好的表达出来,很简单的东西往往都不知道如何简短精 ...

  8. spring MVC处理请求过程及配置详解

    本文主要梳理下Spring MVC处理http请求的过程,以及配置servlet及业务application需要的常用标签,及其包含的意义. spring MVC处理请求过程 首先看一个整体图 简单说 ...

  9. TOMCAT原理详解及请求过程

    Tomcat: Tomcat是一个JSP/Servlet容器.其作为Servlet容器,有三种工作模式:独立的Servlet容器.进程内的Servlet容器和进程外的Servlet容器. Tomcat ...

随机推荐

  1. 第二百一十八天 how can I 坚持

    真的是自以为是吗?或许是我想太多. 今天下雪了,2015年入冬以来的第一场雪,好冷. 又是一周. 睡觉吧,明天老贾生日. 没啥了,中午有点肚子疼,冬天了要注意.

  2. C++Bulder DataSnap 内存泄露元凶

    DSServerClass1 DSServerClass1DestroyInstance void __fastcall TServerContainer1::DSServerClass1Destro ...

  3. Struct2提交表单数据到Acion

    Struct2提交表单数据到Action,Action取表单的数据,传递变量.对象 HTML.jsp <form action="reg.do" method="p ...

  4. InterfaceConnect

    GUID aguid; _di_IInterface a, c; Calld::TEventSink* FEventSink; Server_tlb::_di_IServerWithEvents FS ...

  5. Spark RDD概念学习系列之RDD的创建(六)

    RDD的创建  两种方式来创建RDD: 1)由一个已经存在的Scala集合创建 2)由外部存储系统的数据集创建,包括本地文件系统,还有所有Hadoop支持的数据集,比如HDFS.Cassandra.H ...

  6. 串口发送浮点型数据及int(2个字节)long int(4个字节)的方法

    方法一: 直接把float数据拆分为4个unsigned char(由于数字没法拆分,所以只能用指针的),发过去,在合并为float. 其中有两点要注意. (1)大端存储,小端存储:如果搞错读取数据就 ...

  7. [iOS微博项目 - 3.0] - 手动刷新微博

    github: https://github.com/hellovoidworld/HVWWeibo   A.下拉刷新微博 1.需求 在“首页”界面,下拉到一定距离的时候刷新微博数据 刷新数据的时候使 ...

  8. Oracle 分区字段数据更新

    分区字段是不允许进行update操作的,如果有对分区字段行进update,就会报错——ORA-14402:更新分区关键字列将导致分区的更改.  可以通过打开表的row movement属性来允许对分区 ...

  9. 在Windows2012下安装SQL Server 2005无法启动服务的解决办法

    下面是我亲自经历过的总结. 因为尝鲜安装了Windows2012,的确很不错,唯一的遗憾就是不支持Sql Server 2005的安装.找了很多办法,基本上都有缺陷.现在终于找到一种完全正常没有缺陷的 ...

  10. 理解MFC 文档、视图、框架[转]

    理解文档/视图框架                                      出处.雷神 了解文档和视图的相互作用关系是编写MFC程序的基本功.但是MFC的应用程序框架把文档和视图之间 ...