HTTP工作流程
一:什么是HTTP事务
HTTP事务 = 请求命令 + 响应结果
是HTTP请求的最小处理单元,简单说就是一次完整的请求过程,包括请求的发送和结果的返回,如果只有发送请求,而没有响应结果,则不能算作HTTP事务
二:报文流
三:请求报文
格式: 请求行、请求首部(请求头)、空行、报文主体
如图:
四:响应报文
格式:响应行、响应首部、空行、报文主体(HTTP要传输的内容)
如图:
五:HTTP的工作流程
整个流程步骤:
域名解析 -> 三次握手 -> 发起HTTP请求 -> 响应HTTP请求并得到HTML代码 -> 浏览器解析HTML代码 -> 浏览器对页面进行渲染呈现给用户
如图:
六:域名解析过程:
(1)查询浏览器自身缓存:
以chrome为例:在浏览器地址栏输入:chrome://net-internals/#dns
浏览器自身缓存时间比较短,为1min,数量为1000条
(2)查询OS自身缓存:
cmd -> ipconfig /displaydns -> 回车
清楚OS自身缓存:
cmd -> ipconfig /flushdns
(3)读取hosts文件:C:\Windows\System32\drivers\etc\hosts
(4)向本地DNS服务器请求
向本地配置的DNS服务器发送域名解析请求,通过UDP协议向DNS的53端口发起请求
(5)查找NetBIOS name Cache,它就存在于客户端电脑中
补充:如果有任何一个步骤中,找到了域名对应的ip,则直接返回,后面的步骤不再进行
七:TCP三次握手过程