HTTP/HTTPS, Socket,TCP/IP

1. 七层模型  

   OSI七层模型: 开放系统互连参考模型 (Open System Interconnect 简称OSI),其最主要的功能使就是帮助不同类型的主机实现数据传输 

        

   应用层:http/FTP协议 ——- 主要解决如何包装数据,提供用户程序的“接口”;   

   表示层:数据的表现形式,特定功能的实现,如数据加密;

   传输层:tcp/udp协议  ——  主要解决数据如何在网络中传输; 

   网络层:ip协议

   传输层的TCP是基于网络层的IP协议的,而应用层的HTTP协议又是基于传输层的TCP协议的。

 

2.   HTTP/HTTPS协议 

     HTTP:即超文本传输协议(Hypertext transfer protocol),是一个属于应用层的面向对象的协议。HTTP协议永远都是客户端发起请求,服务器回送响应。    

     HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),即安全套接字层超文本传输协议,是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL 

     默认HTTP的端口号为80,HTTPS的端口号为443。     

   HTTPS 客户端与服务器交互过程

     1》、客户端发送请求,服务器返回公钥给客户端;

     2》、客户端生成对称加密秘钥,用公钥对其进行加密后,返回给服务器;

     3》、服务器收到后,利用私钥解开得到对称加密秘钥,保存;

     4》、之后的交互都使用对称加密后的数据进行交互。

 

3.TCP/IP协议

   Transmission Control Protocol/Internet Protocol的简写,网络通讯协议。 TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。

   TCP是一个端到端的面向连接的协议。所谓的端到端可以理解为进程到进程之间的通信。所以HTTP在开始传输之前,首先需要建立TCP连接,而TCP连接的过程需要所谓的“三次握手”。

 握手过程:a.主机A向主机B发出连接请求数据包;

               b.主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包;

               c.主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。

               三次“对话”的目的是使数据包的发送和接收同步,握手过程中传送的包里不包含数据,经过三次“对话”之后,主机A才向主机B正式发送数据。

 tcp与udp的区别:

   

 4. Socket   

         Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们使用TCP/IP协议。    

         建立Socket连接至少需要一对套接字,其中一个运行于客户端,称为ClientSocket ,另一个运行于服务器端,称为ServerSocket 。

套接字之间的连接过程分为三个步骤:服务器监听,客户端请求,连接确认。

 

posted @ 2018-03-05 15:02  青语  阅读(459)  评论(0编辑  收藏  举报