总体流程很简单,浏览器输入127.0.0.1:8000,返回html,因为html中有css、js,浏览器会默认为test.css、test.js加上127.0.0.1来访问,因为HTTP是短链接,一旦127.0.0.1:8000完成请求应答,会立即拼接test.html中test.css、test.js进行访问。

import socket
sk = socket.socket()
sk.bind(("127.0.0.1",8000))
sk.listen()
while 1:
    conn,addr = sk.accept()

    from_client_msg = conn.recv(1024)
    # print(from_client_msg.decode("utf-8").split(" "))  #以空格分开看清每部分内容
    url = from_client_msg.decode("utf-8").split(" ")[1]
    if url == "/":   #浏览器输入http://127.0.0.1:8000,服务端得到的url为"/",是因为浏览器默认在末尾补充"/"
        with open("test.html","rb") as f:
            conn.send(b"HTTP/1.1 200 OK \r\n\r\n")
            conn.send(f.read())
            conn.close()
    elif url == "/test.css":
        with open("test.css","rb") as f:
            conn.send(b"HTTP/1.1 200 OK \r\n\r\n")
            conn.send(f.read())
            conn.close()
    elif url == "/test.js":
        with open("test.js","rb") as f:
            conn.send(b"HTTP/1.1 200 OK \r\n\r\n")
            conn.send(f.read())
            conn.close()
sk.close()
socket服务端

相关文章:

  • 2022-01-10
  • 2021-12-06
  • 2022-01-14
  • 2021-09-21
  • 2021-11-21
  • 2022-01-23
  • 2021-11-01
  • 2021-11-18
猜你喜欢
  • 2022-12-23
  • 2021-10-26
  • 2022-12-23
  • 2021-11-03
  • 2021-09-09
相关资源
相似解决方案