百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

解锁网络编程魔法:HTTP 与 WebSocket 如何编织奇幻交互之网

liuian 2025-02-11 12:40 68 浏览

一、HTTP 的实现

理论讲解

HTTP(超文本传输协议)是应用层协议,用于在 Web 浏览器和服务器之间传输超文本数据(如 HTML、CSS、JavaScript 等)。它基于请求 - 响应模型工作。客户端(通常是浏览器)向服务器发送一个 HTTP 请求,请求包含请求方法(如 GET、POST 等)、请求 URL、请求头信息等。服务器接收到请求后,根据请求的内容进行处理,并返回一个 HTTP 响应,响应包含状态码(如 200 表示成功、404 表示未找到等)、响应头信息以及响应体(实际的数据内容)。

代码示例

1. 使用 Python 内置模块 http.server 实现简单 HTTP 服务器

from http.server import HTTPServer, BaseHTTPRequestHandler

# 自定义请求处理类
class MyHTTPRequestHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        # 发送 200 响应码,表示请求成功
        self.send_response(200)
        # 设置响应头的 Content-type 为 text/html
        self.send_header('Content-type', 'text/html')
        self.end_headers()
        # 生成简单的 HTML 内容作为响应体
        html_content = "

欢迎来到我的 HTTP 服务器!

" # 将 HTML 内容写入响应 self.writestr(html_content.encode()) # 创建 HTTP 服务器,监听在本地的 8000 端口,使用自定义的请求处理类 httpd = HTTPServer(('localhost', 8000), MyHTTPRequestHandler) print('HTTP 服务器已启动,在浏览器中访问 http://localhost:8000') # 启动服务器并持续运行,处理请求 httpd.serve_forever()



2. 使用第三方库 Flask 构建更复杂的 HTTP 应用示例

from flask import Flask

app = Flask(__name__)

# 理论:Flask 是一个轻量级的 Web 框架,通过装饰器来定义路由。
# 当客户端访问特定的 URL 路径时,对应的函数将被调用并返回响应内容。

# 定义根路由的处理函数
@app.route('/')
def index():
    return "这是 Flask 构建的 HTTP 应用首页"

# 定义带参数的路由处理函数
@app.route('/user/')
def user_profile(username):
    return f"欢迎用户 {username} 来到个人页面"

if __name__ == '__main__':
    # 启动 Flask 应用,开启调试模式
    app.run(debug=True)

二、WebSocket 的实现

理论讲解

WebSocket 是一种网络通信协议,它提供了全双工通信通道,允许服务器主动向客户端推送数据,克服了传统 HTTP 协议的单向请求 - 响应模式的限制。它在单个 TCP 连接上进行双向通信,建立连接时通过 HTTP 协议进行握手,之后数据可以在客户端和服务器之间自由传输,适用于实时性要求高的应用场景,如在线聊天、实时股票行情更新等。

代码示例

在 Python 中,使用 websockets 库来实现。

import asyncio
import websockets

# 定义处理 WebSocket 连接的协程函数
async def echo(websocket, path):
    async for message in websocket:
        # 理论:当接收到客户端消息时,直接将消息回传给客户端
        await websocket.send(message)

# 启动 WebSocket 服务器,监听在本地的 8765 端口
start_server = websockets.serve(echo, "localhost", 8765)

# 运行事件循环,直到服务器启动完成
asyncio.get_event_loop().run_until_complete(start_server)
# 保持事件循环运行,持续处理 WebSocket 连接
asyncio.get_event_loop().run_forever()


希望以上内容对你理解 HTTP 和 WebSocket 的实现有所帮助,你可以根据实际需求进一步扩展和完善这些代码示例。

相关推荐

win10怎么打开系统更新(怎么开启windows10更新)
  • win10怎么打开系统更新(怎么开启windows10更新)
  • win10怎么打开系统更新(怎么开启windows10更新)
  • win10怎么打开系统更新(怎么开启windows10更新)
  • win10怎么打开系统更新(怎么开启windows10更新)
笔记本注册表编辑器怎么打开

你好,要打开注册表编辑器,可以按照以下步骤进行操作:1.打开“运行”对话框。可以通过按下Win+R键组合,或者在开始菜单中搜索“运行”来打开。2.在“运行”对话框中,输入“regedit”并点...

怎样查询ip地址(怎么顺着ip地址找人)

答:查看ip地址的步骤如下,1.通过网页进行查询:可以通过第三方平台进行查询。2.通过电脑内部的网络连接进行查询:首先我们点击桌面右下角的开始,在开始的选项栏当中找到运行,点击运行,然后再用新的对...

windows server 2003的应用(win2003应用程序服务器)

WindowsServer2003支持FAT16、FAT32和NTFS文件系统,同时也支持CDFS(光盘文件系统)和UDF(通用磁盘格式)。NTFS文件系统的安全性高于FAT文件系统,支持域的管理...

c盘格式化恢复软件(格式化c盘 软件)

点我名字,然后点“他的空间”,我的空间有各种恢复软件的详细介绍、下载地址以及使用说明。C盘格式化后需重装操作系统,系统装好后,要恢复其他盘的软件的话可以在格式化C盘前将桌面数据备份在其他盘,重装完成后...

u盘磁盘被写保护最简单解除方法

u盘磁盘被写保护解除方法,去掉u盘写保护可以先检查u盘写保护的按钮是否打开,然后在电脑上将u盘文件拷贝一份,接着右键点击u盘,选择属性选项,点击工具选项进入,点击开始检查选项,最后如果有问题点击修复即...

免费刷机工具(免费刷机工具哪个好用)

 刷机机灵你的安卓手机智能管家:刷机精灵软件是一款适用于Andorid设备的一键刷机软件。它能够自动安装设备驱动、自动获取ROOT权限、自动刷入ClockworkmodRecovery以完成Andr...

硬盘重新分区怎么分(硬盘重新分区后怎么装系统)

对已分区的硬盘重新分区的方法如下:1. 备份重要数据:重新分区会格式化硬盘,导致数据丢失。因此,在进行重新分区之前,需要备份重要数据。2. 进入磁盘管理工具:在Windows操...

一键ghost快捷键(1键ghost)

一、开机连续按F8,在系统启动菜单中,选择一键还原选项进行一键还原。二、制作启动盘重装操作系统。安装GHOST版本操作系统方法:1、将制作好的PE启动U盘插入电脑USB接口(台式用户建议将u盘插在主机...

换无线路由器需要怎么设置(换个无线路由器怎么连接)

1、线路连接,入户网线接到无线路由器的wan口;2、路由器连接,a、如果有网线,可以直接用网线接lan口和电脑网口,然后参照第三步;b、没有网线,电脑搜索路由器,然后点击连接上。然后参照第三步设置;3...

数据标注接单平台(数据标注接单平台哪个挣得多一点)

数据标注员在家可以通过以下方式接单:1.在线平台:有许多数据标注平台允许数据标注员在家完成标注任务,例如标注客、标注助手、数据堂等。这些平台提供了在线标注工具和API接口,让数据标注员可以在家里使用...

电脑垃圾怎么清理系统垃圾(电脑垃圾怎么清理干净)

电脑清理c盘空间只留系统的操作方法如下。1、打开电脑,找到我的电脑,双击我的电脑,找到盘符C的系统盘。2、找到“属性”菜单。3、点击“属性”后,系统会出现一个新的界面,在新的界面,我们找到“磁盘清理”...

显卡推荐性价比2025(显卡2020性价比)

2021年买1000块钱的这种显卡性价比最好的还是小米的显卡比较好,因为小米的电子产品呢是比较好的一款它的质量是比较好的,也是比较靠谱的,尤其是1000块钱以内买的这种显卡呢他的内存是比较大的,所以价...

thinkpad原厂系统重装方法(thinkpad如何重新装系统)

若需重装原装系统,需备份系统数据,制作启动盘或将原装系统镜像刻录至光盘或USB。进入BIOS设置,启动优先选项设定为启动盘,重启电脑。按提示选择新系统安装位置。安装完成后更新系统和驱动程序。最后恢复数...

安装系统教程win10(安装系统教程win7)

正确安装win10系统的步骤如下:1.确认电脑是否满足win10系统的最低配置要求,如CPU、内存、硬盘空间等。2.下载win10系统镜像文件,可以通过微软官网或第三方下载网站获取。3.制作U盘...