我爱编程

0.1-计算机网络

2018-08-05  本文已影响0人  cirgh

http://www.cnblogs.com/maybe2030/p/4781555.html

三次握手四次挥手

image.png

三次握手:

四次挥手:

http2.0与http1

https://imququ.com/post/http2-resource.html

多路复用 (Multiplexing)

多路复用允许同时通过单一的 HTTP/2 连接发起多重的请求-响应消息


image.png
二进制分帧

在 应用层(HTTP/2)和传输层(TCP or UDP)之间增加一个二进制分帧层。
HTTP/2 会将所有传输的信息分割为更小的消息和帧(frame),并对它们采用二进制格式的编码 。
改进传输性能,实现低延迟和高吞吐量。

首部压缩
服务端推送

在客户端请求之前发送数据的机制

https与http区别

https://juejin.im/entry/58d7635e5c497d0057fae036

基本概念

HTTP:超文本传输协议,被用于在Web浏览器和网站服务器之间传递信息。传输的数据都是未加密的,也就是明文的。
HTTPS:HTTP的安全版,即HTTP下加入SSL层。可进行加密传输身份认证的网络协议。

区别
HTTPS原理

采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请,区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面。
证书其实就是一对公钥和私钥
过程:

服务器资源使用

HTTP使用TCP三次握手建立连接,客户端和服务器需要交换3个包;
HTTPS除了TCP的三个包,还要加上ssl握手需要的9个包,所以一共是12个包。

HTTPS优点
HTTPS缺点

网络层次划分

OSI七层

物理层,数据链路层,网络层,传输层,应用层

TCP/IP五层

物理层,数据链路层,网络层,传输层,会话层,表示层,应用层

输入url过程

在浏览器中输入www.baidu.com 后执行的全部过程:

ajax请求过程

我理解Ajax 是一种异步请求数据的一种技术,对于改善用户的体验和程序的性能很有帮助
(1)创建XMLHttpRequest对象,也就是创建一个异步调用对象.
(2)创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息.
(3)设置响应HTTP请求状态变化的函数.
(4)发送HTTP请求.
(5)获取异步调用返回的数据.
(6)使用JavaScript和DOM实现刷新

    var xmlHttp = new XMLHttpRequest();

    xmlHttp.open('GET','demo.php','true');

    xmlHttp.send()

    xmlHttp.onreadystatechange = function(){

        if(xmlHttp.readyState === 4 & xmlHttp.status === 200){

        }

    }

细节

xmlhttp.send("fname=Herry&lname=Ford");
xmlhttp.onreadystatechange=function () {//接收到服务端响应时触发
      if(xmlhttp.readyState==4&&xmlhttp.status==200){
            document.getElementById("mydiv").innerHTML=xmlhttp.responseText;
       }
 }

xmlhttp.readyState: 请求状态,从0 到 4 发生变化

上一篇 下一篇

猜你喜欢

热点阅读