HTTP协议,软件架构,WEB框架,WSGI,Django下载
一:HTTP:
1.http协议: 超文本传输协议,应用层协议,是互联网的通信基础。
2.http原理:
(1)客户端和服务端建立连接
(2)客户端向服务端发送请求(请求报文)格式:请求首行,请求头(不固定),请求空行(\r\n 作用区分请求头和请求体)、请求体。
(3)服务器接收并响应(格式):响应首行、响应头、响应空行、响应体。
(4)释放TCP链接(connection : keep-alive,保持链接3s,close 之间断开 )
(5)浏览器解析响应体内容。
3.url : 统一资源定位符,用来确定互联网中的唯一资源。
(1)常用部分
①协议 : http 或者 https
②服务器(域名): www.baidu.com
③端口号: web应用 默认 80
④路径: /jxsp/xx/sss/a.txt
⑤参数: 使用 ? 与 路径分割, 参数格式 键值对格式 key=value,多个键值对之间使用 & 符号进行连接。
4.HTTP协议请求格式
请求首行:
请求方法(get、post) URL(请求路径例如 /aa/bb/a.txt) 协议版本(HTTP/1.1) \r\n
请求方式: GET 和 POST 方式区别:
GET请求:地址栏访问、超链接访问、Ajax类型type设为get请求、重定向都是get请求方式,
信息展现在地址栏,所以get请求方式不安全,
地址栏大小有限。特定浏览器和服务器对URL长度有限制,如IE对URL长度的限制是2083字节。因此,GET提交时,传输数据就会受到URL长度的限制。提交访问数据
GET提交,请求的数据会附在URL之后,以?分割URL和传输数据,多个参数用&连接;
POST请求:表单提交数据,
内容在请求体中,数据安全,变换数据
理论上内容可以无限。但对服务器压力增大
Django中用request.GET[‘key’]或.get获取访问地址栏数据,用request.POST[‘key’]或.get来获取表单提交过来的数据
请求头:
请求头格式: KEY:VALUE 格式 \r\n
请求头可以省略。
请求空行: \r\n
作用: 区分 请求头和请求体内容
请求体:
作用: 向服务器传输内容。
注意: 只有POST 方式才有请求体。
5.HTTP协议响应格式
响应首行(状态行):
格式: 协议版本号(HTTP/1.1 ) 状态码(响应码) 状态码描述\r\n
常用的状态码:
200: 一切ok。
302: 重定向。
404:资源不存在。
500:服务器内部有错误。
响应头:
格式: KEY:VALUE
响应空行: \r\n
作用: 同请求空行
响应体:
返回给浏览器的内容。
二:软件架构
(1)C/S
①客户端服务器架构,需要用户下载客户端,对电脑环境依赖比较大。
(2)B/S
①浏览器服务器架构,只需要用户有浏览器即可。对电脑环境依赖比较小。
(3)C/S 和B/S架构运行方式
①C/S : 客户端和服务器要一直保持链接。对服务器压力比较大。
②B/S: 请求响应模式,请求响应完就断开链接。对服务器压力比较小。
三:WEB框架
(1)什么是web框架:
①web框架的本质是一个socket。所有的框架都是对socket进行了不同的封装。例子,毛坯房
(2)框架的作用
①完成基础的功能,程序员从此基础上进行业务逻辑的开发,提高了开发效率。
四:WSGI
WSGI : Web Server Gateway Interface, Web服务器网关接口。是一种规范,
规范:web服务器应用和框架的使用。
Django自带的服务器应用 wsgiref 模块。
五:Django下载
pip install django==2.1.2