Django,把socket一步步封装成Django

本文深入讲解HTTP协议的基础知识,包括其工作原理、请求与响应格式、常见状态码,以及GET与POST请求的区别。同时,对比了C/S与B/S架构的特点,并介绍了WSGI在Web开发中的角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. http协议: 超文本传输协议,应用层协议,是互联网的通信基础。

  2. http原理:
    2.1. 客户端和服务端建立连接
    2.2. 客户端向服务端发送请求(请求报文)格式:请求首行,请求头(不固定),请求空行(\r\n 作用区分请求头和请求体)、请求体。
    2.3. 服务器接收并响应(格式):响应首行、响应头、响应空行、响应体。
    2.4. 释放TCP链接(connection : keep-alive,保持链接3s,close 之间断开 )
    2.5. 浏览器解析响应体内容。

  3. url : 统一资源定位符,用来确定互联网中的唯一资源。
    常用部分:
    ① 协议 : 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: 超链接(a标签)、地址栏输入的url 都是GET请求,不安全。字符有限。
    POST:表单提交时POST请求、 数据放在请求体中,安全。理论上长度无限。
    请求头:
    请求头格式: KEY:VALUE 格式 \r\n
    请求头可以省略。
    请求空行: \r\n
    作用: 区分 请求头和请求体内容
    请求体:
    作用: 向服务器传输内容。
    注意: 只有POST 方式才有请求体。

  5. HTTP协议响应格式
    响应首行(状态行):
    格式: 协议版本号(HTTP/1.1 ) 状态码(响应码) 状态码描述\r\n
    常用的状态码:
    200: 一切ok。
    302: 重定向。
    404:资源不存在。
    500:服务器内部有错误。
    响应头:
    格式: KEY:VALUE

    响应空行: \r\n
    作用: 同请求空行

    响应体:
    返回给浏览器的内容。

  6. 软件架构
    (1) C/S
    ① 客户端服务器架构,需要用户下载客户端,对电脑环境依赖比较大。
    (2) B/S
    ① 浏览器服务器架构,只需要用户有浏览器即可。对电脑环境依赖比较小。

    (3) C/S 和B/S架构运行方式
    ① C/S : 客户端和服务器要一直保持链接。对服务器压力比较大。
    ② B/S: 请求响应模式,请求响应完就断开链接。对服务器压力比较小。

  7. WEB框架
    (1) 什么是框架:
    ① 框架的本质是一个socket。所有的框架都是对socket进行了不同的封装。
    (2) 框架的作用
    ① 完成基础的功能,程序员从此基础上进行业务逻辑的开发,提高了开发效率。

  8. WSGI
    WSGI : Web Server Gateway Interface, Web服务器网关接口。是一种规范,
    规范:web服务器应用和框架的使用。
    Django自带的服务器应用 wsgiref 模块。

  9. Django下载
    pip install django==2.1.2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值