1 用户访问网站的一个原理过程
0) 用户打开浏览器输入地址之后,按下回车
1) 完成地址域名的解析过程(域名--IP解析)
首先本地解析过程: 缓存(ipconfig/display)或者hosts文件中查看
然后递归查询过程:
LDNS服务器(网卡配置的)
LDNS服务器获取到A记录信息,也会进行缓存
迭代查询过程:
LDNS--根域名服务器(顶级域名服务器信息)---顶级域名服务器(二级域名服务器)---二级域名服务器(域名-IP对应关系:A记录)
2) 用户利用解析后的IP地址发起网络访问: 三次握手过程
3) 用户发起HTTP访问过程: HTTP请求信息 (多个)
4) 用户发起HTTP访问过程: HTTP响应信息 (多个)
5) 用户在浏览器看到页面
6) 用户利用解析后的IP地址结束网络访问: 四次挥手过程
重点考核:
1) DNS解析过程
2) TCP三次握手/四次挥手过程
3) HTTP报文信息
2 HTTP报文信息说明
2.1 HTTP请求报文
1) HTTP请求行信息 : GET index.html HTTP 1.1 a 请求方法: GET方法: 获得得到 --- 下载 POST方法: 提交推送 --- 上传 b 请求的数据信息: c 请求时使用的协议(HTTP1.1) 2) HTTP请求头信息 请求文件信息类型 Accept: text/html 对请求信息做了压缩处理 Accept-Encoding: gzip 请求的语言语言 Accept-Language: zh-CN,zh;q=0.9 请求是否调用了缓存 Cache-Control: no-cache 是否使用TCP长连接 Connection: keep-alive = 0(短连接) cookie信息 Cookie: BAIDUID=B2A2C53E6B6CA12D400 定义访问的主机信息 Host: www.baidu.com【www(主机部分) .baidu.com(域名部分)】 客户端访问网站的浏览器软件信息(手机 IPhone android) User-Agent: Chrome/67.0.3396.99 3) 空行 表示请求头所有内容结束 4) 请求主体信息 POST方法调用需要提交的信息:存放到数据库服务器中 注册的信息 登陆的信息 购物的信息 评论的信息 投票的信息
B HTTP响应报文
1) 响应行(起始行)
HTTP/1.1 200 OK
a) 协议信息
b) 状态码信息 状态码描述信息
200 OK: 请求成功 处理方式:获得响应的内容,进行处理
301 Moved Permanently 永久跳转 第一次访问跳转后,再次访问会直接访问跳转后地址
302 Moved temporary 临时跳转 第一次访问跳转后,在次访问依旧会需要进行访问跳转的服务器
304 cache 图片缓存在客户端本地, 利用缓存进行查看图片(节省网站带宽和网站负载压力) 缓存有时间
403 Forbidden 网站拒绝(黑客)访问(实践)
404 访问的网站信息不存在
500 Internal Server Error 内部服务代码错误(找开发人员)
502 后端节点出现问题,无法进行访问(负载均衡服务器 --- 用户)
503
504 超时访问,后端节点不能很快做出响应(负载均衡服务器 --- 用户)
2) 响应头部
Cache-Control: private 和缓存相关的设置
Connection: Keep-Alive 是否设置为TCP长连接
Content-Encoding: gzip 响应的信息是否进行压缩
Content-Type: text/html 响应的数据类型
Cxy_all: baidu+553422cecf477402ecd4a78eecb35952
Date: Mon, 11 Mar 2019 06:30:11 GMT 响应时间
Expires: Mon, 11 Mar 2019 06:29:14 GMT 缓存上的时间
Server: nginx/1.xx 百度的web服务器所使用的软件名称(BWS) 重点
Set-Cookie: delPer=0; path=/; domain=.baidu.com
????
X-Ua-Compatible: IE=Edge,chrome=1
3) 响应空行
4) 响应主体内容
一般都是代码信息
HTML 静态页面信息 页面有什么都需要用HTML代码编写好
css 定义网页样式 给网页信息进行排版
js 定义页面特效 让网站显示更加好看