http dns django

Posted wyf20190411-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http dns django相关的知识,希望对你有一定的参考价值。

DNS:

  dns解析器  记录着域名与ip地址 的对应关系. 

  13台根dns服务器 ==>顶级dns服务器 ==>权威dns服务器 ==>二级域名(子域名)的dns服务器

字符串与字节的转换:  

    >>> s = "hello"
                >>> s
                hello
                >>> bytes(s,encoding=utf-8)
                bhello
                >>> 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 bthis is xxxx

                def f2():
                    return bthis 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入口文件

HttpResponse 返回字符串

render 返回一个html页面

 

 

 

  

    

以上是关于http dns django的主要内容,如果未能解决你的问题,请参考以下文章

网站性能优化——DNS预热与合并HTTP请求

闲谈寻址-DNS的多级缓存系统

DNS与HTTP原理及配置

APP端的网络优化(DNS优化,HTTP优化)

现有连接上的 HTTP2 DNS 查找

web盲区(DNS,http)网站术语分析