zoukankan      html  css  js  c++  java
  • Web服务器-HTTP相关-快速整一个服务器响应浏览器(3.2.1)

    @

    1.HTTP分析

    当你去访问一个网址的时候,浏览器会发送而各种头信息给服务器
    然后服务器根据信息,返回一定数据的格式
    最简单的就是下面的代码
    自己构造返回数据的时候,头信息一定放在前面
    当出现空格的时候,下一行就是返回的超文本HTML

    HTTP/1.1 200 OK
    
    <!Doctype html>....
    

    2.简单服务器

    from socket import *
    import sys
    
    
    
    
    def main():
    
        if len(sys.argv) != 2:
            print("可以按照如下方式运行:python3 xxx.py 7890")
            port = 7890
        else:
            # 运行方式为python3 xxx.py 7890
            port = int(sys.argv[1])
    
    
        # 创建socket
        tcp_server_socket = socket(AF_INET, SOCK_STREAM)
        # 本地信息
        address = ('', port)
        # 绑定本地信息
        tcp_server_socket.bind(address)
        # 将主动套接字变为被动套接字
        tcp_server_socket.listen(128)
    
        while True:
            # 等待客户端的链接,即为这个客户端发送文件
            client_socket, clientAddr = tcp_server_socket.accept()
            # 接收对方发送过来的数据
            recv_data = client_socket.recv(1024)  # 接收1024个字节
            print(recv_data)
    
            with open(r"F:WorkPython-Workpython学习8-7重跑3.web服务器httpaidu.html","rb") as e:
                str_ = e.read()
            client_socket.send(str_)
    
    
    
        # 关闭监听套接字
        tcp_server_socket.close()
    
    
    if __name__ == "__main__":
        main()
    
    

    说明
    创建一个socket对象,配置ip和host等
    然后监听,给个循环一直监听
    如果有客户访问,就把客户socket对象赋值给client_socket
    通过client_socket发送响应信息
    其中.html中要包含头部信息
    打开浏览器访问,加载出页面说明没问题

    关于作者

    个人博客网站
    个人GitHub地址
    个人公众号:
    在这里插入图片描述

  • 相关阅读:
    11月20号
    11月17号
    11月21号
    11月19号
    第一章 Windows下前端代码打包编译
    每日日报
    每日日报
    每日日报
    学习Java的第十三天
    学习Java的第十六天——随机数
  • 原文地址:https://www.cnblogs.com/simon-idea/p/11399139.html
Copyright © 2011-2022 走看看