有关web’开发的基础学习
http
GET / HTTP/1.1
这里get 表示请求网页数据(还有一个post)
/表示url的路径
最后的HTTP/1.1表示网页
HTTP/1.1 200 OK
200 表示连接成功, OK表示说明
content -tpye text/html
相应内容 表示html网页
http相应的body就是html源码
总结(http请求的流程)
- 发送http请求 (get/post , 路径/full/url/path ; 域名 host Host:www.sina.com.cn
2.返回响应:包括响应代码2xx
以及相应类型 content - type
以及相关header
python 的动态生成html的统一接口
WSGI
- 实现一个函数
- 接受两个参数 environ:一个包含所有HTTP请求信息的dict对象;
start_response:一个发送HTTP响应的函数。
发送header:
start_response(‘200 OK’, [(‘Content-Type’, ‘text/html’)])
接受的是:http响应码和list表示的http的header(每个header用包含两个str的tuple表示) - 然后,函数的返回值b’
Hello, web!
‘将作为HTTP响应的Body发送给浏览器。 - 然后我们需要一个wsgi服务器来调用
使用python自带wsgi服务器
# server.py
# 从wsgiref模块导入:
from wsgiref.simple_server import make_server
# 导入我们自己编写的application函数:
from hello import application
# 创建一个服务器,IP地址为空,端口是8000,处理函数是application:
httpd = make_server('', 8000, application)#疑问:make_server是什么函数
print('Serving HTTP on port 8000...')
# 开始监听HTTP请求:
httpd.serve_forever()
#表示的是服务一辈子:D
输入http://localhost:8000/,就可以看到结果了
# hello.py
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/html')])
body = '<h1>Hello, %s!</h1>' % (environ['PATH_INFO'][1:] or 'web')
return [body.encode('utf-8')]
使用web框架
继续学习……