Web介绍

Web介绍,第1张

Web介绍 Web的概念(万维网)

C/S(基于客户端的服务器) B/S (基于浏览器的服务器)

URL(统一资源定位符): 网络地址

https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=%E5%9B%BE%E7%89%87&fenlei=256&rsv_pq=ca39a00000367322&rsv_t=d502FPygvCCvYzkHdQO%2FU1cV4gMvA%2BiahmfmuoOY6g9D1CssIliGT3mEy4Y&rqlang=cn&rsv_enter=1&rsv_dl=tb&rsv_sug3=8&rsv_sug1=6&rsv_sug7=101&rsv_sug2=0&rsv_btype=i&prefixsug=%25E5%259B%25BE%25E7%2589%2587&rsp=5&inputT=1554&rsv_sug4=1885

https / http : web进行文件传输的协议

www.baidu.com : 域名 / ip地址

tieba.baidu.com : 二级域名

端口号:
http 协议 默认端口号是 80
https 协议 默认端口号是 443
/s : 请求地址,路由
ie=utf-8 : 路由需要的参数,get请求对应的参数,多个参数用& 分割

通过 TCP 模拟 HTTP的工作原理
import socket
import threading


def dispatch_request(sc: socket.socket):

    # 1. 接收客户端 发送的数据
    data = sc.recv(1024).decode()

    print("客户端发送的数据", data)

    # 2. 服务端发送数据
    # 2.1 向客户端发送 协议及响应的状态
    sc.send("HTTP/1.1 200 OKn".encode())

    # 2.2 向客户端发送 响应的头信息
    sc.send("Content-Type:text/html;charset=utf-8n".encode())

    # 2.3  向客户端 发送一个 空白行、代表头信息 设置完成
    sc.send("n".encode())

    # 2.4 发送响应的内容
    sc.send("

这是服务器发送的数据

".encode()) # 3. 关闭 socket 连接 sc.close() # 创建一个 基于TCP协议的 socket 套接字对象 s = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM) # 绑定 IP 和 端口 s.bind(("127.0.0.1", 8080)) # 设置服务器监听客户端的连接 s.listen(5) while True: # 阻塞式的接收 客户端的连接 sc, addr = s.accept() # 开启一个线程、负责处理 客户端的请求 threading.Thread(target=dispatch_request, args=(sc, )).start()

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5684992.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存