1 什么是URL
在万维网(www)上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL(Uniform Resource Locator,统一资源定位符),它是某一信息资源的统一资源定位标志,简单来说就是网址
2 什么是域名?
域名就是网站IP地址的一种映射关系,通过域名可以直接访问该网站的IP地址进而访问到该网站.
3 在浏览器上输入一个URL,然后回车发生了什么
(1) 进行域名解析(域名解析的目的是找到网站的IP地址,域名解析是由浏览器来完成)
step1: 在浏览器缓存区查找域名映射信息(有可能我们以前就浏览过该网站,浏览器可能保存了下来),如果在浏览器缓存位置找到网站,就直接访问该网站,否则就进行下一步操作.
step2: 读取系统hosts文件,查找其中是否有对应的ip,如果找到直接进入网站,否则继续进行下一步
step3: 向本地配置的首选DNS服务器发起域名解析请求. 在本步骤中进行DNS查询有两种查询方式
一种是递归查询,另一种是迭代查询。
(2) 建立连接 :通过三次握手建立可靠连接(tcp协议)
为保证数据传输的可靠性采用TCP协议
建立三次连接的详细过程如下:
1 客户端向服务端发送SYN请求(请求建立连接,同时需要核实对方是否具备连接的条件),
2 服务器端在listen(监听)到该连接请求之后,如果具备建立连接的条件就会向客户端发送确认报文(ACK),并询问客户端是否具备建立连接的条件(SYN),
3 客户端收到服务器端发来的确认信息报文和询问信息后,如果自己条件具备,就会向服务端发送确认信息报文(ACK).
(3)组织HTTP请求(按照HTTP格式组织HTTP请求)
(4) 发送HTTP请求
请求方法:
**GET:获取资源
POST:传输实体主体
HEAD:获取报文首部
PUT:传输文件
DELETE:删除文件
OPTIONS:询问支持的方法
TRACE:追踪路径
(5) 服务器接受到HTTP请求,处理该请求,并将处理结果返回给客户端
服务器在收到浏览器发送的HTTP请求之后,会将收到的HTTP报文封装成HTTP的Request对象,并通过不同的Web服务器进行处理,处理完的结果以HTTP的Response对象返回,主要包括状态码,响应头,响应报文三个部分。
各种状态码如下:
1**:信息性状态码
2**:成功状态码
200:OK 请求正常处理
204:No Content请求处理成功,但没有资源可返回
206:Partial Content对资源的某一部分的请求
3**:重定向状态码
301:Moved Permanently 永久重定向
302:Found 临时性重定向
304:Not Modified 缓存中读取
4**:客户端错误状态码
400:Bad Request 请求报文中存在语法错误
401:Unauthorized需要有通过Http认证的认证信息
403:Forbidden访问被拒绝
404:Not Found无法找到请求资源
5**:服务器错误状态码
500:Internal Server Error 服务器端在执行时发生错误
503:Service Unavailable 服务器处于超负载或者正在进行停机维护**