应用程序有两种模式C/S、B/S。
C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。
而B/S就是浏览器端/服务器端应用程序,
这类应用程序一般借助谷歌,火狐等浏览器来运行。
WEB应用程序一般是B/S模式。
在网络编程的意义下,浏览器是一个socket客户端,服务器是一个socket服务端
基于socket对象模拟web应用程序,浏览器访问服务器地址,页面显示自定义内容
import socket
"""
基于socket对象模拟服务器,模拟web应用程序(web应用端接受请求之后响应)
浏览器中地址栏输入绑定端口号:http://127.0.0.1:8080
查看network:
preview 预览功能,接受响应体之后,加载解析过程。
response 从客户端接收来的字符串,响应体。接收img图片的时候还要请求图片src地址。
"""
sock=socket.socket()
sock.bind(('127.0.0.1', 8080))
sock.listen(5)
while True:
conn,addr=sock.accept()
data=conn.recv(1024) # 接受浏览器请求信息,浏览器就是client端口
print(data)
# conn.send(b"hello") # 简单模拟,但是在浏览器端响应无效,因为没有按照格式
# conn.send(b"HTTP/1.1 200 OK\r\n\r\nhello") # 左边 版本/状态码 响应首行和响应体,之间间隔。
# conn.send(b"HTTP/1.1 200 OK\r\n\r\n<h1>hello</h1>") # 浏览器加载标签
# 一直这么写下去很low,先写好html文件,然后读取发送
with open("index.html","rb") as f:
data=f.read()
conn.send(b"HTTP/1.1 200 OK\r\n\r\n %s" % data)
conn.close()
本文探讨了应用程序的两种主流模式:C/S(客户端/服务器端)与B/S(浏览器端/服务器端)。深入分析了这两种模式的特点,特别是在网络编程环境中,如何使用socket对象模拟web应用程序,以及浏览器作为socket客户端访问服务器的过程。
151

被折叠的 条评论
为什么被折叠?



