1、URL
1.1、URL-结构
定义:即统一资源定位符 Uniform Resource Locator
作用:用来表示互联网上某个资源的地址
URL的一般语法格式为(注意:[ ]代表其中的内容可以省略)
URL的一般语法
protocol://hostname[:port]/path[?query][#fragment]
- 协议:http、https、file 等
- 主机名:IP地址(域名)
- 端口:http默认端口80
- 路由:具体定位
- 查询字符串:通常是给服务端发请求时,传递参数数据使用
-
protocol(协议)
http://tts.tmooc.cn
- http通过HTTP访问该资源。格式http://
- https通安全的HTTPS访问该资源。格式https://
-
hostname(主机名)
是指存放资源的服务器的域名系统(DNS)主机名、域名或者IP地址
port(端口号)
- 整数,可选,省略时使用方案的默认端口
-
path(路由地址)
- 由零或者多个“/”符号隔开的字符串,一般用来表示主机上的一个目录或文件地址。
-
query(查询字符串)
http://tts.tmooc.cn/video/showVideo**?menuId=657421&version=AID999**
- 可选,用于给动态网页传递参数,可以有多个参数,用“&”符号隔开
-
fragment(信息片段/锚点)
version=AID999#subject
- 字符串,用于指定网络资源中的片段。
例如一个网页中有多个名词解释,可以使用fragment直接定位到某一个名词解释
2、Django如何处理URL的请求
2.1、处理URL请求
2.1.1、浏览器-地址栏-请求
浏览器-地址栏输入 -> http://127.0.0.1:8000/index
1、Django从配置文件中根据 ROOT_URLCONF 找到 主路由文件;
默认情况下,该文件在项目同名目录下的urls.py;
例如 thz_django/thz_django/urls.py
2、Django加载主路由文件中的 urlpatterns 变量 [包含很多路由的数组]
3、依次匹配 urlpatterns 中的 path ,匹配到第一个合适的中断后续匹配
4、匹配成功 - 调用对应的视图函数处理请求,返回响应
5、匹配失败 - 返回404响应