(1)什么是web框架和http协议

Django是一个web框架

web框架的本质:就是一个socket服务端

bs架构本质上就是cs架构(cs架构就是client和server):bs架构就是browser和server,本质上browser可以看做是client客户端

http协议详解:bs架构之间的数据传输协议

http请求协议

'''这个是http请求首行,GET就是请求的方法,浏览器里请求地址就是发送一个GET请求,所以请求首行看到的第一个就是请求方法,然后以空格隔开,第二个就是请求的地址,然后空格后的是请求协议'''

GET /index HTTP/1.1\r\n   

'''这个是请求头,就是一堆key:value的东西'''

Host: 127.0.0.1:8080\r\n   

Connection: keep-alive\r\n

扫描二维码关注公众号,回复: 5412051 查看本文章

Cache-Control: max-age=0\r\n

Upgrade-Insecure-Requests: 1\r\n

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36\r\n   #这里表示是用什么客户端请求的

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\r\n

Accept-Encoding: gzip, deflate, br\r\n

Accept-Language: zh-CN,zh;q=0.9\r\n\r\n   

'''\r\n\r\n 的后面就是请求体,可以带数据的'''

'''请求体'''

客户点向服务器发送数据,放这里

http协议实例

import socket

socket = socket.socket()

socket.bind(('127.0.0.1',8080))

socket.listen(5)

while True:
conn,addr = socket.accept()
data = conn.recv(1024)
print(data)

# # HTTP协议返回的格式
# conn.send(b'HTTP/1.1 200 ok\r\n\r\n hello web')

# # HTT返回的内容也可以写css样式
# conn.send(b'HTTP/1.1 200 ok\r\n\r\n <h1>hello web</h1>')

# HTTP返回图片
conn.send(b'HTTP/1.1 200 ok\r\n\r\n <h1>hello web</h1><img src="http://b.hiphotos.baidu.com/image/pic/item/11385343fbf2b2114a65cd70c48065380cd78e41.jpg"></img>')


break

静态网站和动态网站区别

静态网站:网站的数据是不变的,所有页面的内容都不会改变

动态网站:每次请求的数据都是不同的

动态网站实例:

猜你喜欢

转载自www.cnblogs.com/shizhengquan/p/10471636.html
今日推荐