04慕课网《进击Node.js基础(一)》HTTP讲解

HTTP:通信协议

流程概述:

http客户端发起请求,创建端口默认8080

http服务器在端口监听客户端请求

http服务器向客户端返回状态和内容

稍微详细解析:

 1.域名解析:浏览器搜素自身的DNS缓冲,查看是否有被请求的域名所定义的IP,缓冲1分钟

## 谷歌浏览器输入:
chrome://net-internals/#dns

  2.搜索操作系统自身的DNS缓冲(浏览器无缓冲或失效)

  3.读取本地的HOST文件

C:\Windows\System32\drivers\etc

 4.浏览器发起 一个DNS的系统调用

       - 宽带运营商服务器查看本身缓存

  - 运营商服务器发起一个迭代(从跟域名对应的IP开始)DNS解析的请求

    运营商服务器把结果IP返回操作系统内核同时缓存

    操作系统内核把IP发回给浏览器

    最终浏览器拿到域名所对应的IP地址

 5.浏览器获得域名对应IP后,发起http“三次握手

  - 浏览器的随机端口(8080)向服务器发送TCP连接请求,

    该请求会经过路由设备、网卡、内核的TCP/IP协议栈、防火墙最终到达web服务端

 6.TCP/IP连接建立以后,浏览器向服务器发送http请求

  - 比如使用http的GET方法请求一个根域的域名,歇息可以采用HTTP 1.0的协议

 7.服务器端接受到请求,根据路径参数,经过后端的处理,将结果的数据返回给浏览器;

  - 如果是页面就会把完整的HTML页面代码返回给浏览器

 8.浏览器获取到HTML页面代码然后开始解析和渲染

   - HTML页面中的JS、CSS、图片等静态资源同样需要经过一个个HTTP请求重复以上步骤获取

 9.浏览器将HTML和静态资源结合渲染,将完整页面呈现

请求和响应

http的整个流程可以归纳为请求和响应两个部分

两者都会发送http头正文信息

http头

附加的信息:内容类型、服务器发送响应日期、http状态码

正文信息

用户提交的表单数据,或者返回的数据

猜你喜欢

转载自www.cnblogs.com/-beauTiFul/p/9094935.html