【计算机网络原理】HTTP协议与HTTPS协议的区别

1 篇文章 0 订阅
1 篇文章 0 订阅
但行好事,莫问前程

  超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。
  为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。其主要用途如下:

1.认证用户和服务器,确保数据发送到正确的客户机和服务器
2.加密数据以防止数据中途被窃取
3.维护数据的完整性,确保数据在传输过程中不被改变。

SSL存在三个特性:
1.机密性:SSL使用密钥加密通信数据
2.可靠性:服务器和客户都会被认证,客户的认证是可选的
3.完整性:SSL协议会对传输的数据进行完整性检查

HTTPS和HTTP的区别主要为以下四点:

一、https协议需要到ca申请证书,一般免费证书很少,需要交费。
二、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
三、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
四、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ARP协议(地址解析协议)是一种用于将网络层地址(如IP地址)解析为数据链路层地址(如MAC地址)的协议。其工作原理如下: 1.当主机A需要向主机B发送数据时,首先检查其ARP高速缓存(ARP Cache)中是否有主机B的IP地址对应的MAC地址。如果有,则直接将数据帧发送给主机B的MAC地址;如果没有,则执行第2步。 2.主机A向网络广播一个ARP请求包,请求包中包含主机A的IP地址和MAC地址,以及主机B的IP地址。网络中所有主机都会收到这个请求包,但只有主机B会响应。 3.主机B收到ARP请求包后,会向主机A单独发送一个ARP响应包,响应包中包含主机B的IP地址和MAC地址。 4.主机A收到ARP响应包后,将主机B的IP地址和MAC地址存入其ARP高速缓存中,并将数据帧发送给主机B的MAC地址。 下面是一个简单的Python实现,用于发送ARP请求并接收ARP响应: ```python import socket import struct def get_mac_address(ip_address): # 创建ARP请求包 arp_request = struct.pack("!HHHBBH6s4s6s4s", # ARP请求包格式 0x0001, # 硬件类型:以太网 0x0800, # 协议类型:IPv4 0x0006, # 硬件地址长度:6 0x0004, # 协议地址长度:4 0x0001, # 操作类型:ARP请求 b"\x00\x00\x00\x00\x00\x00", # 发送方MAC地址 socket.inet_aton("192.168.1.100"), # 发送方IP地址 b"\x00\x00\x00\x00\x00\x00", # 目标MAC地址 socket.inet_aton(ip_address)) # 目标IP地址 # 创建套接字并发送ARP请求包 s = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.SOCK_RAW) s.bind(("eth0", socket.SOCK_RAW)) s.send(arp_request) # 接收ARP响应包 while True: packet = s.recvfrom(2048)[0] eth_header = struct.unpack("!6s6sH", packet[:14]) if eth_header[2] == 0x0806: # 如果是ARP响应包 arp_header = struct.unpack("2s2s1s1s2s6s4s6s4s", packet[14:42]) if socket.inet_ntoa(arp_header[6]) == ip_address: return ":".join("{:02x}".format(ord(c)) for c in arp_header[5]) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值