域名空间结构构成,internet中的域名呈什么结构?
Internet的域名系统采用层次树状结构的命名方法。按照这种命名方法,网络上的任何一台主机或路由器都有一个惟一的层次结构的名字,即域名。域名的结构一般是:
·...三级域名.二级域名.顶级域名
其中顶级域名代表建立该网络的部门、机构或者该网络所在的地区、 国家等。
Internet域名系统,是由Internet上的域名注册机构来管理的他们负责管理向组织和国家开放的顶级域名。
可以自由买卖吗?
在网络中用语定位的就是IP地址,每个连接网络的计算机都需要一个IP地址,互联网上的服务器每个都有固定的IP地址,没放我们访问她们时,就会通过IP地址找到她们,但是等等,好像并没有使用IP地址的经历啊,难道大家都在陪我玩游戏?
不,你并没有记错,我们基本不用IP地址来访问服务器或其他的资源,因为IP地址比较难以记忆,并不像文字一样有意义,所以为了便于记忆,我们就决定使用文字来访问,比如toutiao,看这科比IP地址好记忆多了还有意义!更容易记忆!每个网站都有名字,比如baidu.com,今日头条 这就是域名,网站的域名!
这些名字都是一些资源,当然可以买卖!也不乏一些人提前抢注了域名而迫使已经做大的公司高价购买的事情!
想要给自己课题组做个网页?
最近因为要做一个小型的网站,需求很简单有点像公司内部的管理网站,和室友一起倒腾,发现了一些坑。我自己之前没有接触过python 但是发现真的非常好上手。
我们没人会前端,所以最怕修改网页,一开始选择了Flask框架,我搞了半天遇到各种坑(还要修改css 麻烦),中间件也不好用,劝大家用django,资料多,非常好用。
那么开始说重点,需要做的哪些东西。
http://python.usyiyi.cn/ 是主要的资料,里面是中文的资料建议一点点看下去。
1-项目环境搭建。
1.1第三方库准备
开发环境是mac os 和ubantu 推荐大家下载一个第三方的软件叫 "Anaconda" ,安装非常简单,直接运行脚本就好。
安装完了,可以到命令行运行 pip list。可以看到已经安装的python第三方库 。
此时我们是没有django的库的。
1.2IDE的安装
IDE 使用eclipse,讲一个工具Pydev,安装自行百度,点点就行。
然后 到Eclipse了 New->Project->Pydev->Pydev Django Project,一路next 。发现eclipse 找不到Django 环境,回来点击 click here to configure an interpreter 然后把python interpreter 中的名为python的删掉,那是系统默认的,改成anaconda目录 下 bin/里面的python。默认是2.7.11吧。忘记安装目录?一个命令 sudo find / -name anacon* 搞定~。找到以后加进去,到了图一这一步就结束。
(图1)
2-数据库配置和使用
2.1数据库连接文件配置
我选了mysql,当然在这之前mysql的帐号密码应该自己确定了吧。mysql配置应该简单。但是如果要支持远程访问,比如你把数据库放到云上,别人机器上,毕竟开发不是一个人的事,我自己遇到的坑是"关于 mysql 配置文件中的 bind-address",自行百度,解决方案是删除就好。(推荐几个mysql 连接的桌面软件,用Navicat ,或者mysql workbench 都是不错的)。(后来发现这里输入密码和帐号没什么用还是要去修改在与项目同名的app里面的setting)。现在在mysql自己创建一个database 取名随便。我叫test,其他字段应该不用解释了如图2。
(图2)
2.2创建APP(模块)
然后我们在工程里根目录右击->Django->Create App->输入名字就好。因为网页主要是MVC模式,创两个吧。一个叫db 专用于管理数据库(models 层) 第二个专用于后台逻辑。名字随便取因为可能要对应多个模块。django里面增加一个app 就需要在与项目同名的那个app的setting中Installed_app里面加入app名(如图4)。我们加入以后目录结构(如图3.)
(图3)
(图4)
2.3用django模型层建表
数据库正式开发,数据库创建,在db的models.py中 对应数据库中每个表写class,就是定义好字段,因为Django的目标是要程序员完全脱离数据库的操作。那么我们先不建表,cd 到你的工程目录去,用命令行 用打入 manage.py migrate 命令。效果如图5。
(图5)
如果你的配置是没错的,此时django 已经在你的数据库中建了很多表,都是django自带的,我也没有用起来,唯一用的是django自带的数据库管理界面,类似于Navicat,还支持搜索功能,自己去文档里 http://python.usyiyi.cn/django_182/intro/tutorial02.html 学吧。
然后在db的models里写一个表的代码。然后效果如图6 还是用了Manage 脚本。
from __future__ import unicode_literalsfrom django.db import models# Create your db here.class Message(models.Model): user_id = models.BigIntegerField(blank=True, null=True)(图6)
到这里表都结束了,实际开发中,我数据库都是先建好的,那我全部都要写每个类是不是很麻烦,有没有偷懒的办法呢?
答案是用./manage.py inspectdb
用了就知道,他会反向生成表的代码, 然后直接复制进models里面就好了。
3-url 解析
3.1url匹配处理函数
在Django中 一般url解析分为两层。
第一层负责解析APP的名,像我在test 里urls.py里写的(如图7)。第一个参数表示响应的url,第二个参数表示处理的模块。
(图7)
第二层是解析到具体的模块中的某个函数来响应对应的url。
比如在view app 中的urls.py(需要自己创建) 写的(图8)url(函数中第一个参数为匹配路径,后一个是对应函数名)里面的home对应view app中的views.py 里的函数home
(图9)
3.2静态网页配置
其实到这个时候已经可以实现响应了。(到这里还要解决一个问题 'Index/home.html')在哪里呢?我们此时创一个文件夹叫templates html都应该放在这里,Index 是一个模块的名字。你可以在templates下面建很多个文件夹,对应很多的APP模块。(html就不属于本文范畴了)此时目录结构为
(图10)
搞定了后别忘记在test的setting 里加上一句代码
(图11)
"就是DIRS"里面.想想也是,不然 Django怎么知道我们的html放在这里呢。
4-逻辑层(也就是最后一步了,怎么样把数据库的东西查出来,放到html中。)
4.1数据库中的数据
往表里插两条数据
(图12)
4.2动态显示数据
看下代码:html部分
(图13)
里面的{%%}是django 自带标签的自己看文档学一下就会。
(图14)
里面的Message.objects.all() 表示从Message表中取出所有数据。还有什么复杂查询自己看文档,一般都是filter exclude,django 还支持sql语句直接写,函数名叫raw().
context就是返回给页面的一个对象里面放了很多值。在python里叫字典(dict)
4.3启动服务器
最后我们用命令行来到我们的目录,敲./manage.py runserver (要支持所有端口 和外网访问加0.0.0.0)。然后出现
(图15)
4.4查看网页
再到浏览器敲127.0.0.1:8000 django默认端口 (图16)
4.5实际开发中问题
结果出来了。遇到具体问题就是查一些文档和stackoverflow。发现一个时区问题,建议和我改成一样。把test里面setting中的时区部分改成这样。否则你会有八个小时的时差,
(图17)
。还有啥问题可以和我讨论的可以留言。小弟也是刚做完这个项目从零开始。码字不易~小问题就不在这里说了。
界面日志界面
管理界面
评论界面
使用的技术
python、JavaScript、CSS、htmlMySQL 数据库jinja2 模板引擎Vue.js 界面框架Nginx Web服务器gunicorn WSGI服务器Supervisor 监控服务进程工具Fabric 自动部署工具学习过程
刚开始跟着作者的教程编写这样一个博客网站的时候感觉很困难,因为自己对web上的很多概念不了解,对web服务器是怎么运行也不清楚,所以不知道作者为什么要这么写代码。后来去学习了Django,知道了什么是ORM,什么是模板等一些概念后,并且能够使用Django搭建一个网站,再跟着作者学习就轻松了一些,希望我的学习过程对你有启发。当然,如果你只想快速的搭建一个网站,可以使用Django、Flask等免费开源的网站框架,而不用自己一步一步的去实现它。
internet最高等级结构域?
COM 商业性的机构或公司 .
ORG 非盈利的组织、团体
.
GOV 政府部门 .
MIL 军事部门 .
NET 从事Internet相关的的机构或公司;
.
CC 无限制;.
TV 无限制.
AC 科研机构.
EDU 教育机构 .
ARPA,由ARPANET(美国国防部高级研究计划局建立的计算机网)沿留的名称,被用于互联网内部功能.
BIZ 网络商务向导,适用于商业公司(注:biz是business的习惯缩用).
info 提供信息服务的企业.
pro适 用于医生、律师、会计师等专业人员的通用顶级域名.
name 适用于个人注册的通用顶级域名
coop 适用于商业合作社的专用顶级域名
us 类型 表示美国,全球注册量排名第二
travel 旅游域名,国际域名
idv 用于个人
aero 适用于航空运输业的专用顶级域名
museum 适用于博物馆的专用顶级域名
mobi 适用于手机网络的域名
asia 适用于亚洲地区的域名
tel 适用于电话方面的域名
int 国际组织
DNS指的是?
DNS指Domain Name System(域名系统),是一个用于将域名解析为对应IP地址的系统。因为在互联网上,每个设备的IP地址都是唯一的标识符,但是使用IP地址进行访问并不方便也不易记忆,所以需要将域名指向对应的IP地址,以便用户使用方便的域名来访问网站。
DNS的工作原理是将域名转换为IP地址。当用户在浏览器输入域名的时候,DNS客户端会向域名服务器发送请求,域名服务器会返回对应的IP地址,并将其缓存起来,以便下一次访问时能够更快地返回结果。如果在缓存中找不到对应的IP地址,DNS客户端会迭代地向更高级别的域名服务器发送请求,直到找到对应的IP地址,并将其返回给DNS客户端。
DNS系统对于互联网的正常运作非常重要,因为它使得用户能够方便地访问网站,并且通过DNS解析,许多互联网应用和服务才得以实现