• 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 。

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

     

  • 相关阅读:
    [转载]初学C#之list
    List<>过滤重复的简单方法
    C# List<> 删除
    C# 生成随机字符串
    C#正则表达式之字符替换
    c#中怎么删除一个非空目录
    treeview 点击时选中节点
    教程链接
    iOS 允许后台任务吗?
    Git Add,Git别名等
  • 原文地址:https://www.cnblogs.com/Cyan-zoey/p/8509031.html
Copyright © 2020-2023  润新知