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