DNS客户机向本地域名服务器A发送查询,如果A中没有保存IP地址记录,A就会发请求给根域名服务器B
如果B中也没有,A就发请求给C,再没有就发请求给D,然后是E,找到后将地址发给DNS客户机。
域名解析过程涉及到递归查询和迭代查询。
客户机再与Web服务器连接。
HTTP(HyperText Transfer Protocol)超文本传输协议,HTTP是一个应用层协议,无状态,由请求和响应构成,是一个标准的客户端服务器模型。
HTTP工作流程如下:
下面是报文首部字段的说明,表格的摘自《图解HTTP》。
HTTP请求头域:
Accept 用户代理能够处理的媒体类型(MIME)及媒体类型的相对优先级,“text/plain;q=0.3”
Accpet-Charset 通知服务器用户代理支持的字符集及字符集的相对优先顺序,“iso-8859-5”
Accept-Encoding 告知服务器用户代理支持的内容编码及优先级顺序“gzip,deflate”
Accept-Language 告知服务器用户代理能够处理的自然语言集及优先级,“zh-cn,zh;q=0.7”
Authorization 用户代理的认证信息(证书值),“Basic dWVub3NlbjpwYNzd==”
Expect 期望出现的某种特定行为,错误时返回“417 Expectation Failed”,“100-continue”
From 用户的电子邮箱地址,为了显示搜索引擎等用户代理负责人的联系方式,“info@ha.com”
Host 请求的资源所处的互联网主机名和端口号,必须包含在请求头中,“www.hh.com”
If-Match 条件请求,只有当If-Match字段值与ETag匹配才会接受请求,否则返回“412 Precondition Failed”
If-Modified-Since 若字段值早于资源的更新时间(Last-Modified),资源未更新,返回“304 Not Modified”
If-None-Match 与If-Match相反
If-Range 字段值和请求资源的ETag或时间一致时,作为范围请求处理,反之,返回全体资源
If-Unmodified-Since 与If-Modified-Since作用相反
Max-Forwards 以十进制整数形式指定可经过的服务器最大数目。服务器转发一次,减少1,当为0就不进行转发
Proxy-Authorization 接收从代理服务器发来的认证质询时,发送此字段,告知服务器认证所需要的信息
Range 只需获取部分资源的范围请求,“5001-10000”从5001字节到10000字节的资源。
Referer 请求的原始资源的URI,也就是上一页
TE 客户端能够处理响应的传输编码方式及相对优先级,还可指定Trailer字段分块传输编码的方式。“gzip,deflate;q=0.5”
User-Agent 创建请求的浏览器和用户代理名称等信息