http协议相关

    xiaoxiao2025-06-14  35

    DNS:Domain Name System,域名系统。作为域名 和 IP地址 相互映射的分布式数据库。

    ARP:Address Resolution Protocal,地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。

    MAC地址:Media Access Control Address,直译为媒体访问控制地址,也称为局域网地址,以太网地址,物理地址,是用来确认网上设备位置的地址。

     

    网络请求发出时:应用层——>传输层——>网络层——>链路层——>物理层

    收到响应:           物理层——>链路层——>网络层——>传输层——>应用层

     

    简述请求https://www.baidu.com的过程

    答:

    在浏览器输入https://www.baidu.com,回车后

    1、客户端浏览器通过DNS解析到www.baidu.com的IP地址,通过这个IP地址找到客户端-服务器的路径

    2、浏览器与服务器通过路径建立TCP连接(默认端口80)

    3、浏览器发送http请求

    4、服务器响应请求,并发送内容到浏览器

    5、浏览器解析数据,并渲染出来展示

    6、浏览器关闭TCP

     

    涉及到的协议:

    1、应用层:HTTP(www访问协议), DNS(域名解析服务)

    2、传输层:TCP(为HTTP提供可靠的数据传输),UDP(DNS使用UDP传输)

    3、网络层:IP(IP数据数据包传输 和路由选择), ICMP(提供网络传输过程中的差错检测),ARP(将本机的默认网关IP地址映射成物理MAC地址)

     

    http协议相关

    一、什么是http协议?

    答:客户端 和 服务器之间的传输数据的格式规范,也叫做“超文本传输协议”。

    二、http协议特点

    1、支持c/s模式

    2、简单快速:客户端向服务器请求服务时,只需传送请求方法 和 路径。由于http协议简单,使得http服务器的规模小,因而通信速度很快。

    3、灵活:http允许传输任意类型的数据对象。正在传输的类型由Content-type加以标记。

    4、无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户端的请求,并收到客户端的应答后,即断开连接。采用这种方式可以节省传输时间。

    5、无状态:无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则必须重传,这样有可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就比较快。

    注:

         无状态解决办法:1)通过Cookie        2)通过Session会话保存

    三、http协议组成

    1、请求报文由三部分组成

    * 请求行:包含请求方法,URI,HTTP版本

    * 请求头

    * 请求内容实体

     

    2、响应报文由三部分组成

    * 状态行:包含http版本, 状态码, 状态码描述短语

    * 响应首部

    * 响应内容实体

    四、http中的302状态

    http协议中,302表示重定向。

    这种情况下,服务器返回的头部信息中会包含一个Location字段,内容是重定向到的url。

     

    五、Http1.0 和 1.1区别

    答:

    1、http1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都要与服务器建立一个tcp连接,服务器完成请求处理后立即断开tcp连接,服务器不跟踪每个客户也不记录过去的请求。

    http1.1则支持持久连接,在同一个tcp连接中可以传送多个http请求和响应。

    2、http1.1增加了host字段,还有一些cache的新特性

    六、get 和 post区别

    1、传输数据方式不同:get是通过url拼接参数的形式,post是放在请求体中

    2、get传输量小,受url长度限制,post可传输大量数据

    3、get明文传输,不安全,post则相对安全。

    4、get请求只能进行url编码,而post则支持多种编码方式。

     

    七、https

    简单讲,就是http的安全版。HTTP是应用层协议,位于http协议之下的是传输协议TCP。TCP负责传输,HTTP则定义了数据如何进行包装,在HTTP跟TCP之间加了一层加密层TLS/SSL。SSL是个加密套件,负责对http数据进行加密。TLS是SSL的升级版。

    传输加密的流程:http是 应用层将数据直接给到tcp进行传输,https则是应用层将数据给到SSL,将数据加密后,再给到tcp进行传输。

    HTTPS是如何加密数据的:

    一般来说,有对称加密, 非对称加密。

    对称加密

    就是加密数据用的密钥 跟 解密数据所用的密钥是一样的。优点是效率高。缺点则是数据发送方、接收方需要共享同一个密钥,传输过程容易被截获,不安全。

     

    非对称加密

    就是加密数据所用的密钥(公钥), 跟解密数据用的密钥(私钥)是不一样的。

     

    加密算法:

    1、对称加密算法

    DES、AES

    2、非对称加密算法

    RSA

    采用DES 和 RSA相结合的方式,可以使它们的优缺点正好互补,即DES加密速度快,适合加密较长的报文,可用其加密明文;RSA加密速度慢,安全性好,可对DES的密钥加密,可以解决DES密钥分配的问题。

     

    八、http https的区别

    1、https协议需要到ca申请证书,需要一定费用

    2、http是超文本传输协议,信息是明文传输;https则是具有安全性的ssl加密传输协议。

    3、http 和 https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

    4、http的连接很简单,是无状态的;https是由SSL+HTTP协议构建的可进行加密传输、身份认证的协议,比http协议安全。

     

     九、https实现原理

    1、客户端使用https的url访问web服务器,要求与web服务器建立ssl连接

    2、web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给到客户端

    3、客户端浏览器与 web服务器开始协商 SSL连接的安全等级,也就是信息加密的等级

    4、客户端根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站

    5、web服务器利用自己的私钥解密出会话密钥

    6、web服务器利用会话密钥 加密与客户端之间的通信。

     

     

     

     

    最新回复(0)