1.你理解的Http协议?

    答:1超文本协议,基于tcp协议的应用层协议,端口号80

      本质就是一个socket客户端。请求--》响应--》断开

    2 无连接无状态

      解决无状态有cookie与session策略

   3请求首行 请求头与请求体,请求头与请求体之间用双\r\n分隔

   4 常用的状态码有

    200:成功

    301:临时重定向、302:永久重定向

    403:crsf_token错误

               500:服务器端错误

   4常用的方法有get、post、put、patch、delete、options请求

   5 重要的请求头有cookie、contenttype、useragent、referer(跳转源,防盗链使用)

   请求体:发送post请求后,request.post只能接收urlencoded格式,无法获取ajax发送的请求,而request.body均可以拿到

1. django请求生命周期(包含rest framework框架)  

   wsgi-->中间件--->process_request--->process_匹配到url--->process_view--->执行视图--->process_template_response

2. 中间件是什么?,做过什么?

  答:就是对请求执行前的操作部分,有内置的:csrf、session也有自定义的 

  答:做过:认证、权限、频率、session、静态文件、跨域等操作

 

 

3. csrf原理

请求是带着一个字符串,post请求时需要带着这个字符串

4. restful 10规范

1. restful 规范(10)---------------------
            什么是接口?
                - URL
                - 约束
                    # 约束继承(实现)了他的类中必须含有IFoo中的方法
                    interface IFoo:
                        def func(self): pass 
                        
                        
                    class Foo(IFoo):
                        def func(self): 
                            print(11111)
            

            1. 根据method不同,进行不同操作
                GET/POST/PUT/DELETE/PATCH
            2. 面向资源编程
                http://www.luffycity.com/salary
            
            3. 体现版本
                http://www.luffycity.com/v1/salary
                http://www.luffycity.com/v2/salary
                
                https://v4.bootcss.com/
                https://v3.bootcss.com/
            4. 体现是API
                http://www.luffycity.com/api/v1/salary
                http://www.luffycity.com/api/v2/salary    
                
                http://api.luffycity.com/v1/salary    
                http://api.luffycity.com/v2/salary    
            5. https
                https://www.luffycity.com/api/v1/salary
                https://www.luffycity.com/api/v2/salary    
                
            6. 响应式设置状态码
                200
                300
                400
                500
                return HttpResponse('adfasdf',status=300)
            
            7. 条件 
                https://www.luffycity.com/api/v2/salary?page=1&size=10
            
            8. 返回值
                https://www.luffycity.com/api/v2/salary
                GET: 所有列表
                {
                    code: 10000,
                    data: [    
                        {'id':1,'title':'高亮'},
                        {'id':1,'title':'龙泰'},
                        {'id':1,'title':'小东北'},
                    ]
                }
                    
                POST: 返回新增的数据
                    {'id':1,'title':'高亮'}
                    
                https://www.luffycity.com/api/v2/salary/1/
                GET: 获取单条数据
                        {'id':1,'title':'高亮'}
                PUT:更新
                        {'id':1,'title':'高亮'}
                PATCH: 局部更新
                        {'id':1,'title':'高亮'}
                DELETE:删除
                    
            9. 返回错误信息
                {
                    code: 100001,
                    error: 'xxx错误'
                }
            
            10. Hypermedia API
                ret = {
                    code: 1000,
                    data:{
                        id:1,
                        name:'小强',
                        depart_id:http://www.luffycity.com/api/v1/depart/8/
                    }
                }
        
            建议大家使用restful规范
restful10条规范

相关文章:

  • 2021-10-18
  • 2022-01-03
  • 2021-12-04
  • 2022-12-23
  • 2022-12-23
  • 2021-09-06
  • 2021-06-30
  • 2022-01-14
猜你喜欢
  • 2021-06-05
  • 2021-09-27
  • 2021-11-20
  • 2021-07-16
  • 2021-09-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案