标签:bind text 地址 color author IV 编程 lis close
Web应用程序是一种可以通过Web访问的应用程序;
程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件。
应用程序有两种模式C/S、B/S。
1、C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。
2、B/S就是浏览器端/服务器端应用程序,这类应用程序一般借助谷歌,火狐等浏览器来运行。
WEB应用程序一般是B/S模式。Web应用程序首先是“应用程序”,和用标准的程序语言,如java,python等编写出来的程序没有什么本质上的不同。在网络编程的意义下,浏览器是一个socket客户端,服务器是一个socket服务端。
# -*- coding:utf-8 -*- __author__ = ‘Qiushi Huang‘ import socket sock = socket.socket() sock.bind(("127.0.0.1",8800)) # 服务器地址和端口 sock.listen(5) while True: print("server waiting.......") # conn:客户端套接字对象,addr: conn,addr = sock.accept() # 等待用户连接 data = conn.recv(1024) print("data", data) # 读取html文件 with open("index.html", "r") as f: data = f.read() # 响应首行(HTTP/1.1 200 OK)、响应体 # conn.send(b"HTTP/1.1 200 OK\r\n\r\n<h1>hello luffycity!</h1>") # 一般都是需要两个空格分隔\r\n\r\n # 相应首行和html文件读取出来的相应体,统一编码为二进制格式发送给浏览器 conn.send(("HTTP/1.1 200 OK\r\n\r\n%s" % data).encode(‘utf-8‘)) conn.close() """ 请求首行里有多个请求头,每个请求头用\r\n进行区分。 知道出现\r\n\r\n时,后面的为请求体。 get请求没有请求体,请求体是给post请求用的。 GET提交的数据会放在URL之后,以?分割URL和传输数据:http://127.0.0.1:8800/yuan?name=yuan&age=22 b‘GET /yuan?name=yuan&age=22 HTTP/1.1\r\nHost: 127.0.0.1:8800\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\r\nAccept-Encoding: gzip, deflate, br\r\nAccept-Language: zh-CN,zh;q=0.9,und;q=0.8\r\n\r\n‘ 请求体(a=1&b=2) # 注意只有post请求才有请求体 b‘GET / HTTP/1.1\r\nHost: 127.0.0.1:8800\r\nConnection: keep-alive\r\nCache-Control: max-age=0\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\r\nAccept-Encoding: gzip, deflate, br\r\nAccept-Language: zh-CN,zh;q=0.9,und;q=0.8\r\n\r\n‘ url: 协议://IP:端口(80)/路径?a=1&b=2 """
标签:bind text 地址 color author IV 编程 lis close
原文地址:https://www.cnblogs.com/xiugeng/p/9245062.html