首页 > 代码库 > http

http

大致流程:(http客户端发起请求,创建端口;http服务器在端口监听客户端请求;http服务器向客户端返回状态和内容)

1.Chrome浏览器搜索自身的DNS(Domain Name System,域名系统)缓存

2.搜索操作系统自身的DNS缓存(浏览器没有找到缓存或缓存已经失效)

3.读取本地的HOST文件

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

  • 宽带运营商服务器查看本身缓存
  • 运营商服务器发起一个迭代DNS解析的请求,运营商服务器把结果返回操作系统内核同时缓存起来,操作系统内核把结果返回浏览器,最终浏览器拿到了www.imooc.com对应的IP地址

5.浏览器获得域名对应的IP地址后,发起HTTP“三次握手”

  嘿,哥们,你能听到我说话吗?能的话咱两唠唠呗

  嘿,兄弟,我能听到你说话,咱两可以唠唠

  好的哥们,那咱两开始唠吧!

6.TCP/IP连接建立起来后,浏览器就可以向服务器发送HTTP请求了,使用了比如说,用HTTP的GET方法请求一个根域里的一个域名,协议可以采用HTTP1.0的一个协议

7.服务器端接收到了这个请求,根据路径参数,经过后端的一些处理之后,把处理后的结果数据返回给浏览器,如果是慕课网的页面就会把完整的HTML页面代码返回给浏览器

8.浏览器拿到了慕课网的完整HTML页面代码,在解析和渲染这个页面的时候,里面的JS,CSS,图片等静态资源,他们同样也是一个个HTTP请求,都需经过上面的主要的七个步骤

9.浏览器根据拿到的资源对页面进行渲染,最终把一个完整的页面呈现给了用户

 

HTTP头发送的是一些附加信息:内容类型,服务器发送响应的日期、HTTP状态码

正文就是用户提交的表单数据

 

请求方法:

HTTP1.1(8种方法): GET   POST   PUT   DELETE    HEAD   TRACE   OPTIONS...

 

HTTP概念进阶:

回调

单/多线程

 

http