Web基础

Web程序流程

uwsgi

	就是实现了uwsgi和wsgi两种协议的服务器
	客户端发送http请求 uwsgi服务器接收http请求并解析
	 将生成的request对象发送到我们使用的框架程序
	 然后进行中间层处理 (拦截请求) 
	 匹配路由  
	 进行具体的业务逻辑处理返回一个响应 
	 然后中间层将响应拦截进行处理  
	 将处理好的响应返回给uwsgi服务器
	  uwsgi服务器再将返回的response对象构造成http响应返回给浏览器

UWSGI程序

		```python
		from 项目名.wsgi import alllication
		#1.启动一个socket服务
		
		#2.接收http请求
		
		#3.将接收到的http请求转换为request对象
		
		#4.处理request 转换为 response
			response = application(request)
		#5.解析response
		
		#6.把http响应数据返回给客户端
		```

请求

在这里插入图片描述

http请求
请求头 :包含若干个属性,格式为“属性名:属性值”,服务端据此获取客户端的信息
请求体 :将一个页面表单中的组件值通过param1=value1&param2=value2的键值对形式编码成一个格式化串,它承载多个请求参数的数 据。不但报文体可以传递请求参数,请求URL也可以通过类似于“/chapter15/user.html? param1=value1&param2=value2”的方式传递请求参 数。
请求行:请求方法 路径 http协议版本 字符串查询集

		path路由 第一个值为一个路由,第二个值为一个函数
		URL路径参数
		会放在GET中 自动解析
		在定义路由URL时,可以使用正则表达式提取参数的方法从URL中获取请求参数,Django会将提取的参数直接传递到视图的传入参数中。
	
	

请求体中传参
	POST在请求体中传参 使用x-www-form 会在POST 和 body中都有一份数据
	META中指定了传来数据的格式‘CONTENT_TYPE’={str}'application/x-www-form-urlencodeed'
	使用raw 需要自己解析json格式
	META中指定了传来数据的格式‘CONTENT_TYPE’={str}'application/json'
	请求体数据格式不固定,可以是表单类型字符串,可以是JSON字符串,可以是XML字符串,应区别对待。
	
	可以发送请求体数据的请求方式有POST、PUT、PATCH、DELETE。
	
	Django默认开启了CSRF防护,会对上述请求方式进行CSRF防护验证,在测试时可以关闭CSRF防护机制,方法为在settings.py文件中注释掉CSRF中间件,如:
	
	注释CSRF中间件
		
	请求头
	可以通过request.META属性获取请求头headers中的数据,request.META为字典类型。
	常见的请求头如:
	CONTENT_LENGTH – The length of the request body (as a string).
	CONTENT_TYPE – The MIME type of the request body.
	HTTP_ACCEPT – Acceptable content types for the response.
	HTTP_ACCEPT_ENCODING – Acceptable encodings for the response.
	HTTP_ACCEPT_LANGUAGE – Acceptable languages for the response.
	HTTP_HOST – The HTTP Host header sent by the client.
	HTTP_REFERER – The referring page, if any.
	HTTP_USER_AGENT – The client’s user-agent string.
	QUERY_STRING – The query string, as a single (unparsed) string.
	REMOTE_ADDR – The IP address of the client.
	REMOTE_HOST – The hostname of the client.
	REMOTE_USER – The user authenticated by the Web server, if any.
	REQUEST_METHOD – A string such as "GET" or "POST".
	SERVER_NAME – The hostname of the server.
	SERVER_PORT – The port of the server (as a string).

响应

	默认的返回方式HttpResponse(content=''响应内容,content_type='text/html'响应内容格式,status=200响应状态码)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值