web应用
cs/bs 架构
# c/s mysql c和s装在同一台机器上
–c链接s: cmd窗口中 mysql –h 127.0.0.1 -P 3306 -uroot –p密码
–网络协议:一般情况,都是软件自定制协议—》基本都是基于TCP
# b/s 浏览器—服务端
-咱们写的django,运行后—-》s 服务端
–客户端链接—-》浏览器
–网络协议:所有全是 http协议—》基于TCP
-如果不是http协议,浏览器识别不了
# bs好处—》软件更新了—》只需要后端更新–》前端是浏览器,不需要变—》直接访问,看到的就是最新的
基于SOCKET写一个web应用
–我们学习bs架构软件开发—》我们开发 s端
–使用socket 写一个 s端—》浏览器就可以访问了
import socket
def server_run():
soc = socket.socket()
soc.bind(('127.0.0.1', 8008))
soc.listen(5)
while True:
conn, addr = soc.accept()
recv_data = conn.recv(1024)
print(recv_data)
# 1 直接在send里写,发送给客户端 http响应的格式
# conn.send(b'HTTP/1.1 200 OKrnrn<h1>hello web</h1><img src="https://img2.woyaogexing.com/2022/12/24/a22973058eab2aafa11248a8b6031f5e.jpg"></img>')
#2 打开一个html文件,发送给客户端
# with open('index.html','r',encoding='utf-8') as f:
# data=f.read()
# conn.send(('HTTP/1.1 200 OKrnrn%s'%data).encode('utf-8'))
# 3 动态网页,字符串替换
import time
now=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print(now)
with open('index.html','r',encoding='utf-8') as f:
data=f.read()
data=data.replace('@@',now)
conn.send(('HTTP/1.1 200 OKrnrn%s'%data).encode('utf-8'))
conn.close()
if __name__ == '__main__':
server_run()
http协议
1.是什么?
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)
2.作用是?
服务器与本地浏览器之间传输超文本的传送协议
3 特点是什么?
-1基于TCP协议之上的【应用层】协议—-》它是可靠传输
-2 基于请求-响应模式: 必须客户端主动发起–》服务端才有响应
-如果实时跟服务端通信—》每隔2s发送一次请求–》轮询—》实现实时聊天
-web版微信
–实时通信—》使用轮询, webscoket 协议
-3 无状态保存
–发送多次请求,对于服务端来讲,都是新的
–cookie,session做会话保持
-4 无连接 客户端不会一直跟服务端链接
基于tcp—》有链接
# 4 http请求协议与响应协议
–请求协议
–请求首行—》请求方式–》请求地址–》请求协议版本号 1.1 rn
-请求头:key–value形式 rn rnrn
-请求体:get请求一般没有请求体,post请求有请求体
-响应协议
-响应首行:HTTP/1.1 200 OKrn –协议版本—响应状态码–》响应描述符
-响应头:响应头有什么
-响应体:一般给个html标签
浏览器中看到的页面,都是响应体的内容
让其他人可以通过端口访问你的mysql数据库
#登录
mysql -uroot -p
#显示数据
show databases;
#进入mysql
use mysql;
#显示面板
show tables;
#显示host访问方式
select user,host from user;
#修改root用户的访问方式
update user set host = '%' where user = 'root';
#刷新
flush privileges;
让其他人可以通过端口访问你的Django项目
ALLOWED_HOSTS = ['*', ]
python manage.py runserver 0.0.0.0:8000
http版本及其区别
HTTP的版本之间的区别,主要是1.0/1.1/2.0三个版本的区别有哪些? – 知乎
常用的请求头,响应头,响应状态码
https://www.cnblogs.com/yf0826/p/9016602.html
原文地址:https://blog.csdn.net/safvirtu/article/details/134654007
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_39564.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!