web后端

小程序,app啥的我没看到的是前端样式,背后都有一个web服务器

127只能本机访问本机、

不同于 局域网地址

本机地址:127.0.0.1

局域网地址:10.11.52.x、

​ 192.168.x.x

​ 172.1.x.x

tcp链接 默认

listen监听信息的量

网络连接的队列的大小

是一个排队的大小

等待,也叫作阻塞

数据进入了客户端本地的缓存区 交网卡传给服务器

简单的数据收发

服务器也可以发给客户端

不关闭会一直占用内存

浏览器和服务器建立连接

浏览器转圈等待服务器给他发送数据

浏览器给我们发送的数据怎么看

浏览器打开后,接受完毕

我们 看一下接收到了什么

转换一下

格式

这些事http的请求报文

GET / HTTP/1.1
Host: 127.0.0.1:8000
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1


给浏览器发送数据

浏览器看不到格式问题

他接受到的是响应报文而已

上面写错了

应该是

记得要点击view 。。。

所以

自己要去写一个报文

继续写 200

总结

加上死循环

data里面注意缩进不要

所以我们让data在前面 变成一个全局变量

这样就避免了缩进的问题

#coding=UTF-8
import socket

addr = ('127.0.0.1',8000)
server_sock = socket.socket()
server_sock.bind(addr)
server_sock.listen(1024)

reqeust_data = b''' HTTP/1.1 200 OK Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Content-Language: zh-CN Content-Type: text/html;charset=UTF-8 vicky '''
while True:
	print("正在等待客户端连接。。。")
	cli_sock, cli_addr = server_sock.accept()

	print("接受客户端的数据")
	reqeust_data =cli_sock.recv(1024)
	print('客户端发送的请求报文:\n',reqeust_data.decode('utf8'))

	print("向客户端发送响应报文")

	cli_sock.send(reqeust_data)

	print("关闭客户端的连接")
	cli_sock.close