http、https、websocket

概念解析

HTTP(超文本传输协议)是一种无状态的请求/响应协议,通常用于客户端(如Web浏览器)和服务器之间的通信。客户端发送一个请求到服务器,然后服务器返回一个响应。HTTPS是HTTP的安全版本,它在HTTP的基础上通过SSL/TLS提供了数据加密。

WebSocket协议提供了在客户端和服务器之间的持久连接上进行全双工通信的能力。这意味着服务器可以在任何时候发送消息给客户端,而不需要客户端先发起请求,这对于需要实时更新的应用程序(如在线游戏、聊天应用等)非常有用。

要运行这些示例,请确保你已经安装了必要的库:

pip install requests websocket-client

HTTP 示例程序

这个程序将发送一个GET请求到 `httpbin.org`,这是一个用于测试HTTP请求和响应的服务。

import requests

def http_get_example():
    url = 'https://httpbin.org/get'
    response = requests.get(url)
    print("HTTP GET Response:")
    print(response.json())  # 打印JSON响应的内容

# 运行HTTP示例
http_get_example()


HTTPS 示例程序

HTTPS与HTTP在代码层面上几乎是相同的,`requests` 库会自动处理HTTPS连接的加密。这里我们使用相同的服务,但是通过HTTPS进行通信。

def https_get_example():
    url = 'https://httpbin.org/get'
    response = requests.get(url)
    print("HTTPS GET Response:")
    print(response.json())  # 打印JSON响应的内容

# 运行HTTPS示例
https_get_example()


WebSocket 示例程序

这个程序将连接到 `websocket.org` 的测试服务器,并发送一个消息,然后接收回声消息。
 

import websocket
import _thread
import time

def on_message(ws, message):
    print("WebSocket Message Received:")
    print(message)
    ws.close()

def on_error(ws, error):
    print("WebSocket Error:", error)

def on_close(ws, close_status_code, close_msg):
    print("WebSocket Connection Closed")

def on_open(ws):
    def run(*args):
        time.sleep(1)
        ws.send("Hello, WebSocket!")
    _thread.start_new_thread(run, ())

def websocket_example():
    ws = websocket.WebSocketApp("wss://echo.websocket.org",
                                on_open=on_open,
                                on_message=on_message,
                                on_error=on_error,
                                on_close=on_close)
    ws.run_forever()

# 运行WebSocket示例
websocket_example()

在这些示例中,HTTP和HTTPS程序演示了如何使用请求/响应模型进行通信,而WebSocket程序演示了如何建立持久的全双工通信连接。

然后,将上述代码片段保存到一个`.py`文件中,并运行它。每个函数将演示其对应协议的核心通信功能。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
HTTPSWebSocket是两种不同的网络协议。 HTTPSHTTP的安全版本,它使用了加密来保护通信的安全性。在HTTPS中,数据在客户端和服务器之间以加密的方式传输,防止第三方窃听或篡改数据。HTTPS使用了SSL(Secure Sockets Layer)或TLS(Transport Layer Security)协议来加密通信。使用HTTPS可以保护用户在网站上输入的敏感信息,如密码、信用卡号等。 而WebSocket是一种在单个TCP连接上进行全双工通信的协议。它允许客户端和服务器之间进行实时的双向数据传输。与传统的HTTP请求-响应模式不同,WebSocket建立了一个持久的连接,使得服务器可以主动地向客户端推送数据,而不需要客户端发送请求。WebSockets通常用于实时聊天、在线游戏、股票市场实时行情等需要实时数据传输的场景。 在上面提供的引用中,引用介绍了WebSockets的握手过程,引用是一个简单的WebSockets客户端与服务器通信的案例,引用给出了WebSockets的响应头示例。 因此,HTTPSWebSocket是两种不同的协议,分别用于保护通信安全和实现实时双向数据传输。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [【网工搬砖】HTTPS原理 及WebSocket 原理](https://blog.csdn.net/qq_38322998/article/details/125310345)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [一文读懂,httphttpswebsocket协议](https://blog.csdn.net/weixin_41698051/article/details/107206197)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南叔先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值