提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
一、什么是web
web(world wide web)即全球广域网,也称为万维网,它是一种基于超文本和HTTP的,全球性的,动态交互式的,跨平台的分布式图形信息系统。是建立在internet上的一种网络服务,为浏览者在internet上查找和浏览信息提供了图形化的,易于访问的直观界面,其中的文档及超级链接internet上的信息节点组织成一个互为关联的网状结构。
简单来说,web是web页面的载体,我们通过浏览器上网都是web。
二、http请求类型
HTTP协议中共定义了八种方法或者叫“动作”来表明对Request—URI 指定的资源的不同操作方式,以下为常用的6种:
.OPTIONS: 返回服务器所支持的HTTP请求方法。
.HEAD: 与GET请求相一致的响应,但只返回头部信息,响应体将不会被返回。
.GET: 向特定的资源发出请求。 (url回车)
.POST: 向指定资源位置上传其最新内容。
.PUT: 向指定资源位置上传其最新内容。
.DELETE: 请求服务器删除指定资源。
Get 与 Post 区别
- url可见性
.Get传参方式是通过地址栏URL传递,是可以直接看到get传递的参数,get把请求的数据在URL后通过?连接,通过&进行参数分割。
.Post传参方式参数URL不可见,post将从参数存放在HTTP的包体内。 - 传输数据大小
.Get传递数据是通过URL进行传递,对传递的数据长度是受到URL大小的限制,URL最大长度是2048个字节。
.Post没有长度限制。 - 后退页面
.Get后退不会有影响,Post后退会重新进行提交
**Get与 Post 的区别**
- 缓存
. Get请求可以被缓存,请求的记录会留在历史记录中。
.post不可以被缓存,请求不会留在历史记录。 - 编码方式
.Get请求只URL编码。
.Post支持多种编码方式。 - 字符类型
.Get只支持ASCII字符。
.Post没有字符类型限制。
三、http 请求/响应包介绍
1.域名解析
浏览器会解析域名(主机名)得到对应的IP地址,那怎么解析到对应的IP地址?
- 浏览器自身的DNS缓存(时间短,一分钟,1000条缓存)如果有该域名对应的条目且没有过期则解析到此结束;
- 没有找到对应的条目,浏览器会搜索操作系统自身的DNS缓存,如果有该域名对应的条目且没有过期则解析到此结束;
- 没有找到对应的条目,尝试读取hosts文件(位于C:\Windows\System32\drivers\etc),如果有该域名对应的条目且没有过期则解析成功;
- 在hosts文件中没有找到对应的条目,浏览器发起一个DNS的系统调用,就会向本地配置的首选DNS服务器(运营商提供,也可以使用像Google提供的DNS服务器)发起域名解析请求(通过的是UDP协议向DNS的53端口发起请求,递归请求,运营商的DNS服务器必须得提供给我们该域名的IP地址),运营商的DNS服务器首先查找自身的缓存,找到对应的条目,且没有过期,则解析成功。没有找到对应的条目,则有运营商的DNS代我们浏览器发起迭代DNS解析请求,它首先是会找根域的DNS的IP地址(这个DNS服务器都内置13台根域的DNS的IP地址)