什么是URL:

  1. 统一资源定位符(URL,英文 Uniform / Universal Reaource Locator 的缩写)
  2. 标准的URL由服务类型(协议)、存放资源的主机域名(可以是域名或者ip地址,可以包括端口号)、主机资源路径和文件名

eg:http://www.cnblogs.com/wyx8891/

协议部分:http

主机域名:www.cnblogs.com

资源路径:/wyx8891/

URL请求顺序:

  1. 当发送一个URL请求时,浏览器会开启一个线程来处理这个请求,对URL 分析判断如果是 http 协议就按照 Web 方式来处理
  2. 请求的URL交给DNS域名解析,使浏览器获得对应网址的IP地址
  3. 浏览器拿到IP后,会向服务器建立一个socket链接
  4. 浏览器通过TCP向服务器发送HTTP请求
  5. 浏览器接收HTTP响应并且可能关掉TCP连接,或者是重新使用连接处理新请求
  6. 浏览器检查HTTP响应是否为一个重定向(3xx 结果状态码 ),一个验证请求(401),错误(4xx 5xx)等等,这些都是不同响应的正常处理(2xx)
  7. 如果响应可缓存,响应将缓存在内存里
  8. 浏览器解码响应
  9. 浏览器决定如何处理这些响应(例如,它是HTML页面,一张图片,一段音乐)
  10. 浏览器展现响应,对未知类型还会弹出下载对话框。

概念解释

  • IP 地址:IP 协议为互联网上的每一个网络和每一台主机分配的一个逻辑地址。IP 地址如同门牌号码,通过 IP 地址才能确定一台主机位置。服务器也是一台主机,想要访问某个服务器,必须先知道它的 IP 地址;
  • 域名(DN):IP 地址由四个数字组成,中间用点号连接,在使用过程中难记忆且易输入错误,所以用我们熟悉的字母和数字组合来代替纯数字的 IP 地址,比如我们只会记住 www.baidu.com(百度域名) 而不是 220.181.112.244(百度的其中一个 IP 地址);
  • DNS: 每个域名都对应一个或多个提供相同服务服务器的 IP 地址,只有知道服务器 IP 地址才能建立连接,所以需要通过 DNS 把域名解析成一个 IP 地址。
  • 协议:从该计算机获取资源的方式,常见的是Http、Ftp、Gopher、Telnet、File,不同协议有不同的通讯内容格式;资源路径指示从服务器上获取哪一项资源。
												

浏览器输入URL加载的全过程都发生了什么事情,你知道?的更多相关文章

  1. 一个url加载的全过程

    最近在进行前端面试方面的一些准备,遇到了一个经典前端问题,一个url从输入到页面加载中间到底发生了什么,以前也认真想过这个问题,但是当时回答的都不全面,现在来好好总结一下: 总体来说分为以下六个步骤: ...

  2. 详解--从地址栏输入url到页面展现中间都发生了什么?

    这是一个综合性很强的问题,个人理解包含以下七个基本点: 1.在浏览器地址栏输入url并按下回车. 2.浏览器检查当前url是否存在缓存和缓存是否过期. 3.域名解析(DNS解析url对应的ip). 4 ...

  3. HTTP工作过程(浏览器输入URL到返回HTML页面都经历了什么)

    超文本传送协议(HyperText Transport Protocol,HTTP)是互联网上应用最为广泛的一种网络协议,它工作在应用层,使用TCP的80号端口提供服务.并且HTTP是工作在客户/服务 ...

  4. 浏览器输入URL,按下回车后发生什么?

    大致流程 URL 解析 DNS 查询 TCP 连接 服务器处理请求 浏览器接受响应 浏览器解析渲染页面 断开连接

  5. 从输入URL到页面加载的全过程

    前面的话 本文将详细介绍从输入URL到页面加载的全过程 概述 从输入URL到页面加载的主干流程如下: 1.浏览器构建HTTP Request请求 2.网络传输 3.服务器构建HTTP Response ...

  6. 一个页面从输入URL到加载显示完成,发生了什么?

    面试经典题--URL加载 一.涉及基本知识点: 1. 计算机网络 五层因特尔协议栈: 应用层(dns.http):DNS解析成IP并完成http请求发送: 传输层(tcp.udp):三次握手四次挥手模 ...

  7. [转载]浏览器中输入url 并且按下回车之后发生了什么?

    解析URL 浏览器通过 URL 能够知道下面的信息: Protocol "http" 使用HTTP协议 Resource "/" 请求的资源是主页(index) ...

  8. 练习启动各种浏览器的同时加载插件:Firefox, Chrome, IE

    # -*- coding:utf-8 -*-import osimport seleniumfrom selenium import webdriverfrom selenium.webdriver. ...

  9. URL加载系统----iOS工程师必须熟练掌握

    URL加载系统----iOS工程师必须熟练掌握     iOS根本离不开网络——不论是从服务端读写数据.向系统分发计算任务,还是从云端加载图片.音频.视频等.   当应用程序面临处理问题的抉择时,通常 ...

随机推荐

  1. Linux中的各种软件安装

    Linux下的软件形式 Linux上的软件有几种常见的方式 二进制发布包 软件包已经针对具体平台完成了编译和打包,解压后即可以使用,最多去改改配置文件,也是Linux上最通用和常见的软件包发布形式 例 ...

  2. Java.MyEclipse Web项目导入Eclipse

    Java项目, 在MyEclipse中开发保存的目录结构和配置, 是不能直接在Eclipse中导入和运行的; 有时我们会碰到想把MyEclipse项目导入到Eclipse中开发的需求, 记录过程如下: ...

  3. LeetCode 152. Maximum Product Subarray (最大乘积子数组)

    Find the contiguous subarray within an array (containing at least one number) which has the largest ...

  4. require.js实现js模块化编程(二):RequireJS Optimizer

    require.js实现js模块化编程(二):RequireJS Optimizer 这一节,我们主要学习一下require.js所提供的一个优化工具r.js的用法. 1.认识RequireJS Op ...

  5. swift之函数式编程(四)

    文章内容来自<Functional Programing in Swift>,具体内容请到书中查阅 Map, Filter, Reduce Functions that take func ...

  6. iOS 输入时键盘处理问题

    最正规的办法,用通知 step 1:在进入视图的时候添加监视:(viewDidLoad什么的) //监听键盘的通知 [[NSNotificationCenter defaultCenter] addO ...

  7. Java语言写出水仙花数,

    package com.llh.demo;/** * 水仙花数 * @author llh * */public class Demo14 {    public static void main(S ...

  8. Phalanx

    Phalanx Time Limit:5000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Stat ...

  9. poj 1155 TELE(树形DP)

    TELE Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4863   Accepted: 2673 Description ...

  10. CLR Via C#: 类型基础

    所有类型都从System.Object派生 一下两个类型定义是完全一致的 class Employee { } class Employee : System.Object { } 由于所有类型最终都 ...