浏览器:本质就是html的解释器
下面是以socket编写的基于tcp的服务端,(代码注释)
#-8-coding:utf-8-*-
import socket
#使用socket模块,建立服务器
server_html=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#服务类型属性
#绑定的服务器IP及端口,注意浏览器访问这个:http://127.0.0.1:8080,就可看到服务器响应浏览器的内容
server_html.bind(("127.0.0.1",8080))
server_html.listen(5)
while True:
conn,addr=server_html.accept()
msg=conn.recv(1024*12)
print(msg.decode("utf-8"))
#下面这句话,必须要,这个是有关http协议的知识,这里不多描述
conn.sendall(bytes("HTTP/1.1 201 OK\r\n\r\n","utf-8"))
#下面是服务器发给浏览器的内容,想:一个正规的网页,是由很多这样的标签里的内容组成,所以:
#响应的内容一般会写在一个新文件里,然后在读取出来,发送至浏览器
conn.sendall(bytes("<h1>hello world!</h1><h2>hello world!</h2>","utf-8"))
conn.close()
if __name__ == '__main__':
main()
下面是浏览器访问:http://127.0.0.1:8080(该url即是上面服务器绑定的地址)的结果: