首页 > 其他分享 >django 初识

django 初识

时间:2023-07-26 15:56:57浏览次数:35  
标签:HTTP GET server 初识 9000 zh django conn

一、手撸web框架

推导框架的演变过程,思路是重点

1、写一个服务端

import  socket

server = socket.socket()
server.bind(('127.0.0.1', 9000))
server.listen(3)

while True:
    conn, addr = server.accept()
    data = conn.recv(1024)
    print(data.decode('utf8'))

    conn.send(b'HTTP//1.1 200 OK \r\n\r\n')
    conn.send(b'hello django!')
    conn.close()

注意: conn.send(b'HTTP//1.1 200 OK \r\n\r\n')  tcp的流式协议,注意是两个\r\n\r\n

2、在浏览器地址栏中写什么后缀就返回什么内容?

一次正常的访问,后端会收到2个GET请求,第一个GET后面为浏览器端输入的后缀,第二个为/favicon.ico 网站图标 

<link rel="icon" href="favicon.ico" type="image/x-icon">

GET /login HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
sec-ch-ua: "Not.A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114"
.....
Accept-Language: zh-CN,zh;q=0.9


GET /favicon.ico HTTP/1.1
Host: 127.0.0.1:9000
Connection: keep-alive
sec-ch-ua: "Not.A/Brand";v="8", "Chromium";v="114", "Google 
....
Referer: http://127.0.0.1:9000/login
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9

从上可知想要拿到login需要做一个切割操作

 

3、

 

二、

 

三、

标签:HTTP,GET,server,初识,9000,zh,django,conn
From: https://www.cnblogs.com/dgp-zjz/p/17582588.html

相关文章

  • ubuntu下安装django
    1.去页面http://www.djangoproject.com/download/下载,按照步骤安装 2.安装apachemodpythonsudoapt-getinstalllibapache2-mod-python 这是在/etc/apache2/mods-enabled文件夹下会有python.load,自动载入mod_python模块 3.进入到apache的/var/www/运行django-admin.pysta......
  • Django的render函数输出到html页面出现乱码
    有三种方法:在页面中设置编码即可解决<metacharset="utf-8">在视图函数中设置响应对象的字符编码fromdjango.httpimportHttpResponsedefmy_view(request):response=HttpResponse('hello')response['Content-Type']='text/plain;......
  • 初识C数据结构之“*”和“&”(指针、解引用、取地址、引用)
    这天小阿杰又在看C数据结构——顺序表中几个传参的小小的内容引起了小阿杰大大的疑惑:(教材为严蔚敏老师的《数据结构(C语言版第2版)》)可怜的小阿杰当时只知道&取地址……后来查阅资料才对其中略知一二,那咱们下面就来唠唠。顺便提一下,引用&只在C++中有,C语言......
  • 纯手撸 Django web框架批量删除redis的key
    纯手撸Djangoweb框架批量删除redis的key环境环境参照上一章节博客部署环境,在此基础上进行功能加强【批量删除指定前缀的key】,然后再CI里面掉这个接口地址即可清理redis缓存的key,更加高效的运维工作修改视图##mysite/myweb1/views.py#Createyourviewshere.fromdj......
  • Java后端01(初识servlet)
    servlet添加依赖坐标(maven)<dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version></dependency>小测试​ 所有请求都会固定携带一个参数(method)代表请求的方式(GET,POST,PUT,D......
  • 初识C语言——7扫雷(低配)
    主程序——text.c:#define_CRT_SECURE_NO_WARNINGS1#include"game.h"game(){ charHide[ACRS][COLS]={'0'}; charShow[ACRS][COLS]={'0'}; //数组初识化 Initialize(Hide,ACRS,COLS,'0'); Initialize(Show,ACRS,......
  • 饮冰三年-人工智能-Django淘宝拾遗-85-常用的Python格式化工具
       Python代码格式化对于团队协作、代码质量、错误预防以及与Python社区的契合都具有重要意义。好的代码格式化不仅是一种编码规范,更是一种良好的编码习惯,有助于提高整个项目的质量和可维护性。   在团队中,可能有不同的编码规范和自定义的格式化规则。尽管有一些格式......
  • 【Spring Boot 初识丨maven】
    上一篇讲了使用spirngboot自带的构建器构建项目本篇来讲一讲如何从零开始构建一个maven项目前提:jdk推荐java17及以上maven推荐Maven3.5+(maven构建)一、安装maven  Maven的安装需要依赖JDK的安装,所以必须先安装完成JDK且配置好JDK环境变量后在进行Maven的安装。......
  • PyCharm 在PyCharm中运行Django测试的日志输出
    环境:Windows10  +PyCharm2022.3.3+ Djangoversion4.2.3via: https://docs.djangoproject.com/zh-hans/4.2/topics/logging/#configuring-logging 日志模块配置:在settings.py添加如下配置: importosLOGGING={"version":1,"disable_existi......
  • java并发编程(一)----初识
    一、什么是并发  先看“科普中国”给出的官方解释。并发在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。   通俗来讲,并发就是指同一时间间隔内发生两个或多......