Node.js进击基础一(http)

URL:统一资源定位符,偏重定位,是URI的子集,例如网址。URL必定是URI,但URI 不必定是URL。规则:只能用英文阿拉伯数字某些符号等,若是有文字就必须编码。css

URI:统一资源标识符,偏重标识,字符串格式规范。web

 

Http:chrome

一、http客户端发起请求,建立端口(例:用手机打开浏览器网页,建立到服务器的默认端口80的TCP连接)后端

二、http服务器在端口监听客户端请求浏览器

三、http服务器向客户端返回状态和内容缓存

当咱们输入网址回车或者按h5刷新时计算机和浏览器作的事情:服务器

域名解析: 1、浏览器会先搜索自身的DNS缓存,例如a.imooc.com这个域名已经缓存的ip地址,这个缓存的时间只有1分钟,若有缓存看有没有过时,若是过时这个解析就结束了。查看chrome的缓存:chrome://net-internals/#dns网站

    2、搜索操做系统自身的DNS缓存,浏览器没有找到缓存或缓存已经失效。若是缓存也没有过时,那解析也到此结束。编码

    3、读取本地的HOST文件,操做系统自身的DNS缓存也没有找到。spa

      4、浏览器发起一个DNS的一个系统调用。向本地主控DNS服务器(通常来讲是宽带运营商提供的)发起的一个域名解析请求。

                 运营商的DNS服务器:一、宽带运营商服务器查看自己缓存,查找对应的条目,若是没有过时就解析成功了

                                              二、运营商服务器替浏览器发起一个迭代DNS解析的请求

                                                      先找到根域DNS:

     

 

                                             拿到com域的ip地址:

            

 ·

                                            找到imooc.com这个域的DNS服务器(该服务器由域名的注册商提供。如万网、新网等):

 

 

imooc.com域的DNS服务器将查找的结果发送给运营商的DNS服务器,这时运营商的DNS服务器拿到了imooc.com这个域名对应的ip地址,将结果返回给操做系统内核,同时也缓存在本身的缓存区。操做系统内核把ip地址返回给浏览器。最终浏览器拿到了www.imooc.com对应的IP地址。

     5、浏览器得到域名对应的IP地址后,发起HTTP "三次握手"

 

 

浏览器以一个随机端口向服务器的web程序,如ngix80端口发起一个TCP的链接请求,这个请求经过层层的路由设备到达服务器端之后进入到网卡,进入到内核的TCP/IP协议栈,可能还须要防火墙的过滤,最终到达web服务端,创建起TCP和IP的链接。

 

三次握手作了什么:客户端向服务器

 

 

    6、TCP/IP链接创建起来后,浏览器就能够向服务器发送HTTP请求了。使用了好比说,用HTTP的GET方式请求一个根域里的一个域名,协议能够采用HTTP 1.0的一个协议。

    7、服务器端接收到了这个请求,根据路径参数,通过后端的一些处理以后,把处理后的一个结果的数据返回给浏览器,若是是网站页面就会把完整的HTML页面代码返回给浏览器。

 

    8、浏览器拿到了网站页面完整的HTML代码,在解析和渲染这个页面的时候,里面的js、css、图片静态资源,他们一样是一个个HTTP请求,都须要通过上面的主要的七个步骤。

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

 

HTTP协议的组成:

 

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

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

相关文章
相关标签/搜索