socket实现web应用的本质

Django基础

Django是一个高级的Python Web框架,用于快速开发安全且可维护的网站。它遵循MVC设计模式,但通常使用MTV(Model-Template-View)架构来描述其组件。

CS模式与BS模式
  • CS模式(Client-Server):客户端和服务器直接通信,客户端通常需要安装特定的软件。
  • BS模式(Browser-Server):通过Web浏览器与服务器通信,不需要在客户端安装额外软件,更加轻便和普遍。
WEB相关
  • HTTP协议:Web通信的基础,定义了客户端和服务器之间如何交换信息。
  • 浏览器:作为客户端,使用HTTP协议向服务器发送请求。
  • 服务器:响应来自浏览器的请求,并发送回相应的数据。
请求响应模型
  1. 基于请求响应:Web通信建立在请求和响应的基础上,浏览器发出请求,服务器给出响应。
  2. 请求协议格式:通常包括请求行(方法、URL、协议版本)、请求头(附加信息)和请求体(POST数据等)。
  3. 响应协议格式
    • 响应首行:包括协议/版本号、状态码和状态消息(如“HTTP/1.1 200 OK”)。
    • 响应头:包含关于响应的附加信息,如Content-Type指明响应内容的类型(如text/html表示HTML文档)。
    • 响应体:实际返回给浏览器的数据内容,如HTML代码、JSON对象等。
socket实现web应用的本质



    
    Title
    


Hello, world!

import socket
def handle_request(client):
    request_data = client.recv(1024)
    print("request_data: ",request_data)
    # client.send("HTTP/1.1 200 OK\r\nstatus:200\r\nContent-Type:text/html\r\n\r\n

Hello, world!

".encode("utf8")) with open("jd.html","rb") as f: data=f.read() client.send(b"HTTP/1.1 200 OK\r\nstatus:200\r\nContent-Type:text/html\r\n\r\n"+data) def main(): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.bind(('localhost',8812)) sock.listen(5) while True: print("the server is waiting for client-connection....") connection, address = sock.accept() handle_request(connection) connection.close() if __name__ == '__main__': main()

你可能感兴趣的:(#,web应用,前端,django,web应用,python,socket)