Web框架与HTTP协议
实现多并发的web服务端
import spcketfrom threading import Threadserver=socket.socket() #实例化socket对象 server.bind(('127.0.0.1',10086)) #绑定地址及应用端口号 server.listen() #建立连接def feedback(conn):client_msg=conn.recv(1024) #接收连接请求 print(client_msg) #打印请求内容path=client_msg.split('\r\n')[0].split(' ')[1] #获取请求的文件if path=='/': conn.send(b'HTTP/1.1 200 ok \r\n\r\n') #响应 协议版本:HTTP/1.1 状态码:200 状态码的描述 回车符换行符with open('dome.html','rb')as f_html: data=f_html.read()conn.send(data) #发送请求文件conn.close()if path=='/dome.css': conn.send(b'HTTP/1.1 200 ok \r\n\r\n')with open('dome.css','rb')as f_css:data=f_css.read()conn,send(data)conn.close()if path =='/dome.js': conn.send(b'HTTP/1.1 200 ok \r\n\r\n')with open('dome.js','rb')as f_js:data=f_js.read()conn.send(data)conn.close()if path=='/background.jpg': conn.send(b'HTTP/1.1 200 ok \r\n\r\n')with open('background.jpg','rb')as f_bg:data=f_bg.read()conn.send(data)conn.close()if path=='/favicon.ico': conn.send(b'HTTP/1.1 200 ok \r\n\r\n')with open('favicon.ico','rb')as f_ico:data=f_ico.read()conn.send()conn.close()while True:conn,addr=server.accept() #获取连接t=Thread(target=fun,args=(conn,)) #设置线程t.start() #开启线程
HTTP协议
http协议使超文本传输协议,位于osi七层的应用层,协议规定的就是请求与响应双方的一个消息格式,请求(请求行,请求头,空行 请求数据)
HTTP请求格式
请求方法 空格 URL(即请求文件路径) 空格 协议版本 回车符 换行符 ps:(请求行)
头部字段名 冒号 值 回车符 换行符 ps:(请求头部 可能会有多行)
回车符 换行符
请求数据
HTTP响应格式
协议版本 空格 状态码 空格 状态码描述 回车符 换行符 ps:(状态行)
头部字段名 冒号 值 回车符 换行符 ps:(响应头部 可能会多行)
回车符 换行符
响应正文(.htm .css .js等)
请求方法:get post put delete patch options connect gead
状态码:1xx 待处理
2xx 成功
3xx 待跳转
4xx 语法错误
5xx 服务器错误
转载于:https://www.cnblogs.com/lttlpp61007188/p/10871609.html
Web框架与HTTP协议相关推荐
- Python之简易Web框架搭建
Python之简易Web框架搭建 Web框架介绍 WSGI协议 Web框架开发 项目结构 MyWebServer.py 之前的静态服务器代码 WSGI协议的要求 更新代码 framework.py 返 ...
- python 全栈开发,Day66(web应用,http协议简介,web框架)
一.web应用 web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件.应用程序有两种模式C/S.B/S.C/S是客户端 ...
- HTTP协议与WEB框架、多任务、进程
HTTP协议简介 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是应用层协议.HTTP是万维网的数据通信的基础. HTTP协议概述 HTTP是一个客户端 ...
- web服务器和框架之间的协议
uWSGI与uwsgi和WSGI以及Nginx的概念 1 WSGI像是一座桥梁,一边连着web服务器,另一边连着用户的应用.就是web服务器与框架之间的协议. 全称 Web Server Gatewa ...
- web基础知识(3)--HTTP协议与web框架与其他
一.HTTP协议 HTTP(Hyper Text Transfer Protocol 超文本传输协议 )协议是基于TCP/IP协议的用于传递数据的协议,其默认端口为80/TCP,简单来说就是客户端与服 ...
- Django web框架
Web框架 web 框架本质 - Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. HTTP协议 HTTP协议介绍HTTP协议对收发消息的格式要求每个HTTP ...
- web框架总结(django、flask)
1.MVC解读 M:Model,模型,和数据库进行交互 V:View,视图,负责产生Html页面 C:Controller,控制器,接收请求,进行处理,与M和V进行交互,返回应答. 1.用户点击注 2 ...
- 带你理清Node.js 的Web框架的3个层次
web 框架指的是处理 http.https 的服务端框架,Node.js 提供了 http.https 模块用于处理协议数据,这是 web 框架的基础. 但是 http.https 的 api 过于 ...
- Python微型Web框架Bottle源码分析
Bottle 是一个快速,简单和轻量级的 WSGI 微型 Web 框架的 Python.它作为单个文件模块分发,除了 Python 标准库之外没有依赖关系. 选择源码分析的版本是 Release 于 ...
最新文章
- JAVA数组的定义及用法
- HttpServletResponse 的 sendError( )方法以及常用的HttpServletResponse常量级错误代码
- @property、@sythesize以及Ivar和@dynamic讲解(下)
- 123456789怎样运算等于1?答案可能很多,写个你最简单的方法
- 再探ChannelPipeline 的初始化
- python如何实现人工智能应用锁_如何清除应用锁的数据库
- sql简介_SQL表简介
- Canvas drawImage
- Web渗透测试实战——(2.1)Metasploit 6.0初步
- 摆脱晚睡拖延症其实很简单……
- 蛋白组+代谢组联合分析
- vue项目强制清除页面缓存
- ftp木马病毒photo.scr,Video.scr,AV.scr文件处理方法(windows服务器)
- 状态模式——你若安好,便是晴天
- 删除Windows11和WIN10桌面图标小箭头
- 第4讲 李群和李代数
- 3手机版怎么换行_全国青少年普法网手机怎么登录 教育部普法网手机版登录入口https://user.qspfw.com/page/login...
- linux串口蜂鸣器报警电路,基于51单片机的蜂鸣器鸣叫震动主从机同步报警设计-BELL--(电路图+程序源码)...
- acer台式电脑怎么重装系统_acer台式电脑怎么重装系统
- ES文件传输助手1.0.0
热门文章
- 第94课 函数的参数 《小学生C++编程入门》 例94.1
- 【docker】第三节:nginx通过外部无法访问的情况解决方法。
- go test 如何输出到控制台_深度剖析 Go 中的 Go 协程 (goroutines) -- Go 的并发
- Echarts笔记-折线图定制(Y轴百分数,鼠标移动显示百分数,显示X轴,Y轴值)
- Leaflet文档阅读笔记-Zoom levels笔记
- 前端笔记-对webpack和vue的基本认识
- C/C++ OpenCV五种滤波器综合示例
- python 调用 tensorflow.dll_python tensorflow导入DLL加载失败
- 腾讯安全科恩实验室发布最新研究成果,针对奔驰车载娱乐系统的安全研究
- css里slidebottom,jquery - 从CSS“top”到“bottom”的jQuery动画 - 堆栈内存溢出