首页 技术 正文
技术 2022年11月12日
0 收藏 768 点赞 3,871 浏览 1804 个字

Python WEB框架

WSGI,WEB Server Gateway Interface,可以看做是一种底层协议,它规定了服务器程序和应用程序各自实现上面接口。Python的实现称为wsgiref

Flask,基于WSGI,微框架

Django,基于WSGI,开源的WEB框架

C/S与B/S的区别

学习web框架的目的:

1、了解WEB框架工作机制

  了解众多框架背后的技术,将来可以对框架做二次开发、定制改版

2、学习API封装 

  学习框架封装的思想,并提供友好的编程接口

HTTP协议:

http协议是无状态协议。

同一个客户端的两次请求之间没有任何关系,从服务器端角度来说,它不指定这两个请求来自同一个客户端。

有连接、短连接

有连接,HTTP基于TCP协议,是面向连接的,需要3次握手、4次断开。

短连接,http 1.1之前,都是一个请求一个连接,而TCP的李连杰创建销毁成本高,对服务器有很大的影响。所以,从http 1.1开始,支持keep-alive,默认也开启,一个连接创建后,会保持一段时间(可设置),浏览器再访问该服务器就使用这个TCP连接,减轻了服务器压力,提高了效率。

Cookie:

一个、或多个键值对信息。身份标识

一般情况下,浏览器发起第一次请求时,服务器回复给浏览器一份Cookie信息,并在服务端存储一份,下次浏览器再访问该服务器时,浏览器会带上服务器设置的Cookie,服务器收到之后,检查发现这个Cookie标识之前曾经访问过,就会将服务器上有效保存的一些数据传给浏览器。

Cookie一般都有过期时间。

客户端可以自己设置Cookie信息,甚至是其他人的Cookie(只要你能得到),这样就能以别人的身份登陆服务器(Cookie没过期情况下)。

所以Cookie必须安全保管,不可以泄露。

URL:

uniform resource locator 统一资源定位符,每一个链接指向一个资源供客户端访问。

schema://host[:port#]/path/…/[;url-params][?query-string][#anchor]

schema 协议、模式:

http、ftp、https、file、mailto等等。

host:port

host可以是ip地址也可以是域名,port默认是80,用冒号相连。

/path/to/resource

path 为webserver上的一个同名资源路径,或者一个alias目录别名。

resource 资源名

index.php?key1=value1&key2=value2

query string,查询字符串,表示向index.php资源获取指定字符串,?号分割,后面key=value格式,多个kv对用&分割。

HTTP消息:

消息分为Request、Resphone。

Request:浏览器向服务器发起的请求

Resphone:服务器对客户端请求的响应。

请求和响应消息都是由请求行、Header消息报头、Body消息正文组成。

请求行:

https://github.com/ysrc/xunfeng/blob/master/vulscan/vuldb/iis_webdav_rce.py

Header消息报头:

GET /ysrc/xunfeng/blob/master/vulscan/vuldb/iis_webdav_rce.py HTTP/1.1
Host: github.com
Connection: keep-alive
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36
Upgrade-Insecure-Requests: 1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8

Body消息正文:

通常出现在POST请求方法中:

username=admin&password=123456

  

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,083
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,558
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,407
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,180
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,816
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,899