Day-41 web服务基础

DNS解析流程

Day-41 web服务基础_第1张图片

解析顺序
  1) 浏览器缓存

当用户通过浏览器访问某域名时,浏览器首先会在自己的缓存中查找是否有该域名对应的IP地址(若曾经访问过该域名且没有清空缓存便存在);

2) 系统缓存

当浏览器缓存中无域名对应IP则会自动检查用户计算机系统Hosts文件DNS缓存是否有该域名对应IP;

3) 路由器缓存

当浏览器及系统缓存中均无域名对应IP则进入路由器缓存中检查,以上三步均为客服端的DNS缓存;

4) ISP(互联网服务提供商)DNS缓存

当在用户客服端查找不到域名对应IP地址,则将进入ISP DNS缓存中进行查询。比如你用的是电信的网络,则会进入电信的DNS缓存服务器中进行查找;

5) 根域名服务器

当以上均未完成,则进入根服务器进行查询。全球仅有13台根域名服务器,1个主根域名服务器,其余12为辅根域名服务器。根域名收到请求后会查看区域文件记录,若无则将其管辖范围内顶级域名(如.com)服务器IP告诉本地DNS服务器;

6) 顶级域名服务器

顶级域名服务器收到请求后查看区域文件记录,若无则将其管辖范围内主域名服务器的IP地址告诉本地DNS服务器;

7) 主域名服务器

主域名服务器接受到请求后查询自己的缓存,如果没有则进入下一级域名服务器进行查找,并重复该步骤直至找到正确纪录;

8)保存结果至缓存

本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时将该结果反馈给客户端,客户端通过这个IP地址与web服务器建立链接。
http(超文本传输协议)
1.由html文件->包含各种各样的元素(URL链接)->web页面
2.URL结构
http:// www.qq.com:80 /news/index.html
协议 —- 域名:—- 端口– 具体的文件名下面的某个页面

3.http的工作原理

1.发起dns请求  
2.获取到域名对应的IP地址  
3.浏览器发起tcp的连接  
4.基于tcp的连接,传输http的请求(一次tcp的连接,可以建立多次的http请求)  
5.浏览器请求/index.html  
6.服务器响应/index.html至浏览器  
7.浏览器翻译index.html中的内容为人类可读  
8.断开TCP的四次挥手  
http的短连接:建立一次tcp的连接,发起一次http的请求,结束,tcp断开。
http的长连接:建立一次tcp的连接,发起多次http的请求,结束,tcp端口。

4.http的请求方法

get     请求(获取)一个网站的页面
post    上传什么内容至服务器

5.http的响应状态码(以3位数字组成)

200     成功
301     永久重定向(redirect) 
302     临时重定向(redirect) 
304     浏览器缓存
403     请求不到首页,权限被拒绝
404     资源找不到
500     服务器内部错误,程序代码错误
502     找不到后端的资源
504     请求超时

6.用户访问网站携带的参数,以及服务端返回的参数
1.概况

Request URL: http://10.0.0.7/index.html         # 请求的URL地址
Request Method: GET                             # 请求的方法(获取)
Status Code: 304 Not Modified                   # 返回的状态
Remote Address: 10.0.0.7:80                     # 请求的地址

2.客户端请求的头部信息

Accept: text/html,                                  # 请求的类型
Accept-Encoding: gzip, deflate                      # 是否进行压缩
Accept-Language: zh-CN,zh;q=0.9                     # 请求的语言
Cache-Control: max-age=0                            # 缓存
Connection: keep-alive                              # TCP长连接
Host: www.oldboyedu.com                             # 请求的域名
If-Modified-Since: Fri, 04 May 2018 08:13:44 GMT    # 修改的时间
If-None-Match: "a49-56b5ce607fe00"                  # 标记
Upgrade-Insecure-Requests:1                         # 在http和https之间起的一个过渡作用
User-Agent: Mozilla/5.0                             # 用户的浏览器
===========请求一个空行=========================

3.服务端响应的头部信息

HTTP/1.1 304 Not Modified                           # 返回服务器的http协议,状态码
Date: Fri, 14 Sep 2018 09:14:28 GMT                 # 返回服务器的时间
Server: Apache/2.4.6 (CentOS) PHP/5.4.16            # 返回服务器使用的软件(Apache php)
Connection: Keep-Alive                              # TCP长连接
Keep-Alive: timeout=5, max=100                      # 长连接的超时时间
ETag: "a49-56b5ce607fe00"                           # 验证客户端标记
===========返回一个空行=========================
===========返回内容页面=========================

HTTP媒体类型


Day-41 web服务基础_第2张图片
image.png

你可能感兴趣的:(Day-41 web服务基础)