什么是URL: 统一资源定位符(URL,英文 Uniform / Universal Reaource Locator 的缩写) 标准的URL由服务类型(协议).存放资源的主机域名(可以是域名或者ip地址,可以包括端口号).主机资源路径和文件名 eg:http://www.cnblogs.com/wyx8891/ 协议部分:http 主机域名:www.cnblogs.com 资源路径:/wyx8891/ URL请求顺序: 当发送一个URL请求时,浏览器会开启一个线程来处理这个请求,对URL 分析…
最近在进行前端面试方面的一些准备,遇到了一个经典前端问题,一个url从输入到页面加载中间到底发生了什么,以前也认真想过这个问题,但是当时回答的都不全面,现在来好好总结一下: 总体来说分为以下六个步骤: 1.DNS解析 2.TCP连接 3.发送HTTP请求 4.服务器处理请求并返回HTTP报文 5.浏览器解析渲染页面 6.连接结束 具体过程: 1.DNS解析 DNS解析的过程就是寻找哪台服务器上有我请求资源的过程,当你在浏览器中输入一个地址时,例如:www.baidu.com,其实并不是百度网站真…
这是一个综合性很强的问题,个人理解包含以下七个基本点: 1.在浏览器地址栏输入url并按下回车. 2.浏览器检查当前url是否存在缓存和缓存是否过期. 3.域名解析(DNS解析url对应的ip). 4.根据ip建立tcp链接(三次握手). 5.用当前url发送http请求. 6.服务器处理请求,浏览器接收响应. 7.浏览器渲染页面. 接下来分析一下每一个基本点所干的事情: 1.在浏览器地址栏输入url并按下回车. 分析:略 2.浏览器检查当前url是否存在缓存和缓存是否过期. 分析:浏览器检查当…
超文本传送协议(HyperText Transport Protocol,HTTP)是互联网上应用最为广泛的一种网络协议,它工作在应用层,使用TCP的80号端口提供服务.并且HTTP是工作在客户/服务器(C/S)模式下.基于TCP的协议.客户端是终端用户,服务端是网站服务器. 客户端通过使用Web浏览器.网络爬虫或其他工具,发起一个到服务器上指定端口(默认端口为80)的HTTP请求.一旦收到请求,服务器向客户端发送响应消息,消息的内容可能是请求的文件.错误消息或一些其他信息.客户端请求和连接端口…
大致流程 URL 解析 DNS 查询 TCP 连接 服务器处理请求 浏览器接受响应 浏览器解析渲染页面 断开连接…
前面的话 本文将详细介绍从输入URL到页面加载的全过程 概述 从输入URL到页面加载的主干流程如下: 1.浏览器构建HTTP Request请求 2.网络传输 3.服务器构建HTTP Response 响应 4.网络传输 5.浏览器渲染页面 构建请求 1.应用层进行DNS解析 通过DNS将域名解析成IP地址.在解析过程中,按照浏览器缓存.系统缓存.路由器缓存.ISP(运营商)DNS缓存.根域名服务器.顶级域名服务器.主域名服务器的顺序,逐步读取缓存,直到拿到IP地址 这里使用DNS预解析,可以根…
面试经典题--URL加载 一.涉及基本知识点: 1. 计算机网络 五层因特尔协议栈: 应用层(dns.http):DNS解析成IP并完成http请求发送: 传输层(tcp.udp):三次握手四次挥手模式建立tcp连接: 网络层(IP.ARP):IP寻址: 数据链路层(PPP):将请求数据封装成帧: 物理层:利用物理介质传输比特流(传输的时候通过双绞线.电磁波等) OIS七层框架:多了两层即,会话层(处理两个通信系统中交换信息的表示方式)和表示层(管理不同用户和进程之间的对话). get和post…
解析URL 浏览器通过 URL 能够知道下面的信息: Protocol "http" 使用HTTP协议 Resource "/" 请求的资源是主页(index) 输入的是 URL 还是搜索的关键字? 当协议或主机名不合法时,浏览器会将地址栏中输入的文字传给默认的搜索引擎.大部分情况下,在把文字传递给搜索引擎的时候,URL会带有特定的一串字符,用来告诉搜索引擎这次搜索来自这个特定浏览器. 转换非 ASCII 的 Unicode 字符 浏览器检查输入是否含有不是 a-z…
# -*- coding:utf-8 -*-import osimport seleniumfrom selenium import webdriverfrom selenium.webdriver.common.keys import Keys """练习启动各种浏览器:Firefox, Chrome, IE练习启动各种浏览器的同时加载插件:Firefox, Chrome, IE""" def startFirefox(): "&qu…
URL加载系统----iOS工程师必须熟练掌握     iOS根本离不开网络——不论是从服务端读写数据.向系统分发计算任务,还是从云端加载图片.音频.视频等.   当应用程序面临处理问题的抉择时,通常会选择最高级别的框架来解决这个问题.所以如果给定的任务是通过http://, https:// 或 ftp://进行通讯,那么与 NSURLConnection 相关的方法就是最好的选择了.苹果关于网络的类涵盖甚广,包括从URL加载.还存管理到认证与存储cookie等多个领域,完全可以满足现代Obj…