标签:
1、HTTP协议
HTTP协议是计算机通信的一种协议
流程:
1、http客户端发起请求,例如手机访问baidu.com,创建端口,一般位80
2、http服务器在端口监听客户端请求
3、http接收到请求后,会给客户端返回状态和内容。
2、DNS域名解析
1、浏览器请求baidu.com,chrome首先查看自身的DNS缓存
2、搜索操作系统自身的DNs缓存查看
3、读取本地的host文件
4、浏览器发起一个DNS系统调用(向宽带运营商请求)
4.1宽带运营商DNS服务器缓存
4.2宽带运营商发起一个迭代DNS解析请求
4.2.1向根域问你知道baidu.com的域名的IP地址是多少
4.2.2根域一看是顶级域的IP域名,于是回复,我只知道com域的DNS服务器IP地址
4.2.3运营商DNS服务器向com域的DNS服务器发出请求,你知道baidu.com的域名的IP地址是多少
4.2.4com域的DNS服务器回复,我只知道baidu.com域的IP地址(域名注册商提供)
4.2.5宽带运营商DNS服务器向baidu.com域请求,你知道baidu.com的域名的IP地址是多少,一看,真在这,将dns服务器的IP地址发送给运营商服务器,运营商服务器将IP地址缓存在操作系统中,再发送给浏览器。
最终浏览器拿到了baidu.com的DNS服务器的IP地址
5、浏览器发起TCP请求的“三次握手”(经过层层路由)
6、Tcp/IP连接建立后,浏览器就可以向服务器发送HTTP请求,例如用HTTP的GET方法请求一个根域的一个域名,协议可以采取HTTP1.0的协议
7、服务器接收到请求,经过后端处理,将处理后的结果数据返回给浏览器。例如,将baidu.com完整的HTML页面代码返回给浏览器。
8、浏览器拿到网页的HTML代码,在解析和渲染这个页面的时候,里面的JS、CSS、图片资源,他们同样是一个个HTTP请求。都需要前面的主要七个步骤。
9、浏览器根据拿到的资源对页面进行渲染,最终得到一个完整的页面呈现给大家。
3、状态码
1xx 指示信息,代表请求接受到,准备处理
2xx 请求成功,服务器正确处理
3xx 重定向
4xx 客户端错误,服务器解析不了
5xx 服务器端的错误
具体如下:
200 成功
400 客户端错误
401 请求未经授权
403 服务器收到请求,但没有权限执行
404 请求资源不存在(URL错误)
500 服务器发生不可预知错误
503 服务器当前无法处理请求,可能过段时间就可以处理。
标签:
原文地址:http://www.cnblogs.com/likailiche/p/4868376.html