django初识

Django框架

1、web应用
运行在浏览器上的应用

2、c/s b/s 架构
client/server:客户端服务器架构,C++
brower/server:浏览器服务器架构,Java、Python
底层均是基于socket

3、Python Web框架
    a.socket 
    b.页面路由 
    c.模板渲染
Django a用的wsgiref b自己写的 c自己写的 功能全面
Flask a用的第三方 b自己写的 c自己写的 小而轻
Tornado a自己写的 b自己写的 c自己写的 支持高并发

HTTP协议

  什么是http协议:    

     HTTP(HyperText Transport Protocol)是超文本传输协议
     基于TCP/IP协议基础上的应用层协议,底层实现仍为socket
     基于请求-响应模式:通信一定是从客户端开始,服务器端接收到客户端一定会做出对应响应
     无状态:协议不对任何一次通信状态和任何数据做保存
     无连接:一次连接只完成一次请求-响应,请求-响应完毕后会立即断开连接

  http工作原理(事物)

    一次http操作称之为一个事务,工作过程可分为四步:

      1.客户端与服务端建立连接

      2.客户端发生一个http协议指定格式的请求

      3.服务器端接收请求后,响应一个http协议指定格式的响应

      4.客户端将服务器的响应显示展现给用户

  请求报文

# 请求行  请求头  请求体
'''
POST / HTTP/1.1\r\n
Host: 127.0.0.1:8001\r\n
Connection: keep-alive\r\n
Upgrade-Insecure-Requests: 1\r\n
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36\r\n
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\r\n
Accept-Encoding: gzip, deflate, br\r\n
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8\r\n
\r\n
usr=abc&pwd=123
'''

  响应报文

# 响应行  响应头  响应体
'''
HTTP/1.1 200 OK\r\n
Content-type:text/html\r\n
\r\n
Login Success
'''

  状态码

# 1打头:消息通知
# 2打头:请求成功
# 3打头:重定向
# 4打头:客户端错误
# 5打头:服务器端错误

 HTTP状态码及其含义

通过状态码告诉客户端服务器的执行状态,以判断下一步该执行什么操作。 
常见的状态机器码有: 
100-199:表示服务器成功接收部分请求,要求客户端继续提交其余请求才能完成整个处理过程。 200-299:表示服务器成功接收请求并已完成处理过程,常用200(OK请求成功)。
300-399:为完成请求,客户需要进一步细化请求。302(所有请求页面已经临时转移到新的url)。 304、307(使用缓存资源)。 400-499:客户端请求有错误,常用404(服务器无法找到被请求页面),403(服务器拒绝访问, 权限不够)。 500-599:服务器端出现错误,常用500(请求未完成,服务器遇到不可预知的情况)。

 HTTP和HTTPS的区别

HTTP协议传输的数据都是未加密的,也就是明文的,安全性低
对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。
简单来说,HTTPS协议是由SSL+HTTP协 议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。 
HTTPS和HTTP的区别主要如下: 
1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。 
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。 3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。 4、http的连接很简单,是无状态的;
HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、 身份认证的网络协议,比http协议安全。 

 HTTP 常见的请求头

1. Host (主机和端口号) 
2. Connection (链接类型) 
3. Upgrade-Insecure-Requests (升级为 HTTPS 请求) 
4. User-Agent (浏览器名称) 
5. Accept (传输文件类型) 
6. Referer (页面跳转处) 
7. Accept-Encoding(文件编解码格式) 
8. Cookie (Cookie) 
9. x-requested-with :XMLHttpRequest  (是 Ajax 异步请求) 

 

posted @ 2019-02-26 19:03  yyf1  阅读(110)  评论(0编辑  收藏  举报