[3]-web安全入门
一、Web App
1.Web App
- 概念
运行在网络和标准浏览器上,基于网页技术开发实现特定功能的应用- 涉及到的技术栈
- 前端:HTML、CSS、JavaScript
- 后端:Java、Python、PHP等等
- 数据库:MySQL、Oracle、MongoDB等等
- 容器:Apache、Nginx、ISS等等
- 协议:TCP、DNS、HTTP、HTTPS等等
2.访问过程
- 用户直观感受
url------>网页- 底层原理
- 输入url,DNS解析,得到目的服务器IP地址
- 访问目的IP,利用TCP/IP协议建立TCP链接
- 向web服务器发送HTTP请求报文,请求服务器资源
- 收到请求报文,返回响应报文
- 客户机收到解析后的HTML静态文档
- 断开连接
- 响应内容处理-----几种不同情况
- HTML文档:web服务器去对应目录,打开,发送
- PHP文件:web服务器需经过PHP服务器解析为静态HTML代码后,再将静态代码发送
- 数据库资源:web服务器----通过----PHP服务器----访问----数据库
3.常见web服务器
- Apache:
开源可免费使用- Nginx
反向代理、负载均衡、HTTP缓存,内存少、稳定性高- ISS
Windows- Lighttpd
内存低、轻量- Tomcat
免费、性能稳定
4.用python实现简单的web服务器
课程样例
二、Web框架
1.框架简介
- 概念
开发框架
类型分为基于请求和基于组件两种框架- 优点
避免重复造轮子
2.常见框架
- 前端:jQuery、Bootstrap、React.js、Vue
- 后端:SpringMVC、Django、Flask、Tornado
3.使用Django从零搭建网站
Django简介
- 开源web应用框架
- MVC模式:模型、视图、模板(Template)
- 最早为CMS(内容管理系统)软件
Django安装
使用pip命令安装python -m pip install django
创建Django项目
django-admin startproject mysite
Django目录详解
进入mysite
项目,使用tree /f
以显示整个文件树E:\Code\Django\mysite>tree /f
manage.py
:django用于管理本项目的工具asgi.py
:异步服务器网关接口,3.0后才有,参考博客settings.py
:项目配置文件,引用的组件、项目名、数据库配置等,以及静态文件访问地址和存储路径urls.py
:访问网址到执行代码的映射关系wsgi.py
:服务器网关接口,服务器部署提供接口API__init__.py
:包初始化模块Django运行
使用Ctrl+C
结束运行,使用如下命令运行Djangopython manage.py runserver 0.0.0.0:8080
命令
Django应用创建
创建firstapp
django-admin startapp firstapp
修改配置文件
配置文件:settings.py
修改
INSTALLEN_APP
:添加firstapp
使配置文件能索引到firstapp
应用TEMPLATES
:使该文件能索引到后面即将要加入的前端页面文件ALLOWEN_HOST
:使其能被外界IP访问配置截图:记得在该文件下
import os
添加执行层代码以及映射关系
修改firstapp/views.py
,定义第一个函数fitsthtml
,该函数作用是直接渲染并返回index.html
修改urls.py
,使其能将用户访问地址连接到需要执行的代码
创建templates文件夹,用于存放index.html
,然后创建index.html
,并在该文件中写入相关代码,本文测试写入helloworld
运行服务器,测试效果
注意:如有报错认真分析报错信息,大部分原因为单词写错了~
初始化数据库,创建超管账号
python manage.py makemigrations python manage.py migrate python manage.py createsuperuser
重新启动服务器,访问管理后台,并利用创建超管账号登录
python manage.py runserver 0.0.0.0:8080
登录成功
后台记录
部分操作解释
创建数据库时,先makemigrations
再migrate
最后再创建superuser
,详解见博客和博客
总之,makemigrations
是将数据库操作以文件形式记录,migrate
时执行实际操作拓展,本人很久前还有一篇文章,关于Django的,详见博客园
总结
本节主要是带领我们熟悉Django各个文件作用,大致了解Django搭建网站过程,通过实践有助于我们进一步搭建一个整体性知识框架。通过本节课程,我对从前端到后端大致有了个模糊的认知。
本文来自博客园,作者:缪白(Miubai),转载请注明原文链接:https://www.cnblogs.com/Miubai-blog/articles/17059719.html