DNS:
dns解析器 记录着域名与ip地址 的对应关系.
13台根dns服务器 ==>顶级dns服务器 ==>权威dns服务器 ==>二级域名(子域名)的dns服务器
字符串与字节的转换:
>>> s = "hello" >>> s 'hello' >>> bytes(s,encoding='utf-8') b'hello' >>> b = bytes(s,encoding='utf-8') >>> str(b, encoding='utf-8')
状态码:(****)
2xx: 200 (OK)
3xx: 302 304
4xx: 404(not found) 403(禁止访问)
5xx: 500(服务器代码错误) 505 版本不支持,网关错误
HTTP协议:
http四大特性:
1.基于TCP/IP协议作用于应用层的协议
2.基于请求响应
3.无状态
4.无连接
请求头: GET / HTTP/1.1 Host: 127.0.0.1:8080 (主机名) Connection: keep-alive (保持链接) Cache-Control: max-age=0 (缓存不失效) Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3 Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9 Token: bdsjalbdjsalbdjsa 请求体: bdsabdjsabjddas 响应头: HTTP/1.1 200 OK 响应体: 自己看到的内容
注: http: 默认端口是80 Https: 默认的端口是443
自定义一个简单的web框架:
雪球:通过不同的url,获得不同的相应内容
路由系统: routes = [ ('/xxx', f1), ('/ooo', f2), ('/hhh', f3) ] def f1(): return b'this is xxxx' def f2(): return b'this is oooo'
web框架分类:t
a.sokect 服务端
b.uri 和 函数的 对应关系
c.将html代码 与mysql 的 数据进行 融合
模板引擎渲染
方法一: a.b.c===>tornado(全自己写)
a(第三方),b,c===>Django
a(第三方),b,c(第三方)===>flask
方法二: Django 其他
Django 的基础内容:
安装: pip3 install django==1.11.10 -i https://pypi.tuna.tsinghua.edu.cn/simple 创建: 第一种: django-admin startproject mysite 启动: python3 manage.py runserver 127.0.0.1:8090 第二种: pycharm创建 目录介绍: mysite: mysite: settings.py : 用户自定义的各种配置 urls.py : 路由文件 wsgi.py : 启动socket服务端的 文件 mange.py: 管理文件 python mange.py 各种命令 js, css, img : 静态 文件 以后创建django完成之后: a. 配置末班文件路径: 'DIRS': [os.path.join(BASE_DIR, 'templates')] b. 配置静态资源的文件路径: STATIC_URL = '/static/' STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static'), (逗号不能少) ) c. 注释中间件 MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', #'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] 写业务逻辑的话: uri和函数的对应关系: urlpatterns = [ # url(r'^admin/', admin.site.urls), url(r'^index/', index), ] 业务逻辑函数: def index(request): return render(request, "index.html") 简单的登陆:
django各个文件的作用
应用名:
应用名 migrations 数据库迁移记录相关数据
admin.py django后台管理相关
models.py 模型表相关
views.py 视图函数相关
项目名
settings.py 配置文件
urls.py 路由与视图函数的映射关系
templates 项目用到的所有的html文件
manage.py
django入口文件