一、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. HDU 2035 人见人爱A^B 分类: ACM 2015-06-22 23:54 9人阅读 评论(0) 收藏

    人见人爱A^B Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  2. vim显示历史命令

    [vim显示历史命令] q: 进入命令历史编辑.类似的还有 q/ 可以进入搜索历史编辑.注意 q 后面如果跟随其它字母,是进入命令记录. 可以像编辑缓冲区一样编辑某个命令,然后回车执行.也可以用 ct ...

  3. 主题敏感词PageRank

    [主题敏感词PageRank] PageRank忽略了主题相关性,导致结果的相关性和主题性降低,对于不同的用户,甚至有很大的差别.例如,当搜索“苹果”时,一个数码爱好者可能是想要看 iphone 的信 ...

  4. Cisco Router WEB管理

    目前市场上很多思科路由器或者交换机都可以通过WEB方式配置.尽管很多功能还是只能通过CLI配置,但是一些功能还是很有用的,例如端口的流量监控功能 前期准备: 一.设备的IOS要支持WEB管理功能   ...

  5. LIS LCS n^2和nlogn解法 以及LCIS

    首先介绍一下LIS和LCS的DP解法O(N^2) LCS:两个有序序列a和b,求他们公共子序列的最大长度 我们定义一个数组DP[i][j],表示的是a的前i项和b的前j项的最大公共子序列的长度,那么由 ...

  6. window

  7. C#调用C++编写的dll库

    我用vs2008建的C++ dll类库,名字test_interopVC,和C#的CeshiVC项目 一:C++项目dll类库: 1.test_interopVC.h,主要简单的测试,所以就在一个类里 ...

  8. iepngfix.htc让PNG-24在IE6中透明的方法(转)

    add:360用的一个方法: <!--[if IE 6]> <script src="http://se.360.cn/js/DD_belatedPNG.js"& ...

  9. js 函数的传值问题

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  10. Ajax的常用框架有哪些?

    AJAX(Asynchronous JavaScript and XML,异步JavaScript和XML),是创建交互式Web应用的主要开发技术.互联网中也有大量的关于AJAX的框架,本文汇总了最常 ...