1. 一:web应用程序
    1.什么是web应用程序

    是一种可以通过web访问的应用程序,最大的好处就是, 只要有浏览器,用户就能很容易访问到应用程序
  2.  
  3. 2. web应用程序的优缺点
    缺点:
      应用程序强调了浏览器的适用性,一些特定的功能需要用特定的操作系统或平台使用;
      网络依靠互联网远程服务端,当连接出了问题,就不能正常使用;
      许多网络应用程序不是开源的,只能依赖第三方提供的服务,不能针对用户个性化,而且大多数情况下不能离线使用,缺少了灵活性;
      完全依赖应用服务商,如果公司倒闭,用户也无法查到以前的资料;软件制造商倒闭,传统安装的软件还可以继续运行,但不在有更新和维护;
      公司可以检索任何用户行为或信息,这有可能引起安全隐私问题;
    优点:
      网络应用程序不需要任何复杂的“展开”过程,所需要的只是一个适用的浏览器;
      网络应用程序通常耗费很少的用户硬盘空间,或者一点都不耗费;
      它们不需要更新,因为所有新的特性都在服务器上执行,从而自动传达到用户端;
      网络应用程序和服务器端的网络产品都很容易结合,如email功能和搜索功能;
      因为它们在网络浏览器窗口中运行,所以大多数情况下它们是通过跨平台使用的(例如WindowsMacLinux等等)
  4.  
  5. 二. C/SB/S架构
    1. 区别

    1C/S:指的是客户端和服务端,这类程序一般都是独立运行
    2B/S:指的是浏览器端和服务端,这类程序一般都是借助浏览器来运行
  6.  
  7. web应用程序一般是B/S模式
    2. B/S架构优点
    在服务器上对数据进行处理,就处理的结果生成网页,以方便客户端直接下载;
    这种架构采用Internet上标准的通信协议(通常是TCP/IP协议)作为客户机同服务器通信的协议。这样可以使位于Internet任意位置的人都能够正常访问服务器。对于服务器来说,通过相应的Web服务和数据库服务可以对数据进行处理。对外采用标准的通信协议,以便共享数据;
    在客户机上对数据的处理被进一步简化,将浏览器作为客户端的应用程序,以实现对数据的显示。不再需要为客户端单独编写和安装其他类型的应用程序。这样,在客户端只需要安装一套内置浏览器的操作系统,直接安装一套浏览器,就可以实现服务器上数据的访问。而浏览器是计算机的标准设备
  8.  

  9. 总结: 本质上浏览器是一个socket客户端,服务器是一个socket服务端
  1. 三. Python中的主流web框架
  2.  
  3. Django flask tornado 这三个是目前最主流的几个框架,重点是Django
    拓展:web2.py(这个的用途只适合用来做测试用或搭一个小的架构来使用)
    A:socket
    B:路由跟视图函数匹配关系
    C:模板渲染(意思是,把html中的一些特殊符号替换成python中的变量或者其他)
  4.  
  5. Django:如果项目要部署到服务器上面的话,可以用 uwsgi;测试阶段可以用 wsgiref;这两个本质是一个东西,wsgiref实现了这个协议的web服务器

四:http协议   *****

1. http协议简介

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于万维网(WWW:World Wide Web )服务器与本地浏览器之间传输超文本的传送协议。

2. http协议的特性

  1)基于TCP/IP协议之上的应用层协议

  2)基于请求 — 响应协议:HTTP协议规定,请求从客户端发出,最后服务器端响应该请求并返回。

  3)无状态保存:HTTP是一种不保存状态,即无状态(stateless)协议。HTTP协议 自身不对请求和响应之间的通信状态进行保存。

  4)无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

3. http请求协议与响应协议

1)请求协议:

         请求首行   get  /  http/1.1\r\n(请求方式)/(请求的路径)/(协议以及版本)--- 中间用空格分隔 \r\n(换行)

      请求头部信息    key:value\r\n

              key:value\r\n

              \r\n

                请求体的内容 

  http协议包含由浏览器发送数据到服务器需要遵循的请求协议与服务器发送数据到浏览器需要遵循的请求协议。请求格式如下图:

2)响应协议:

  响应首行  http/1.1  200  OK \r\n     (请求协议)/ (请求状态码)(状态码的一个简短描述)

响应头部信息  key:value\r\n

        \r\n

   响应体 html的代码(通常情况下,也有可能是css,js等代码)

  当服务器收到浏览器的请求后,会发送响应消息给浏览器。一个完整的响应消息主要包括响应首行、响应头信息、空行和响应正文。响应格式如下图:

响应状态码:

  状态码指的是当客户端向服务器端发送请求时, 返回的请求结果,响应分别有五种

Django day01 web应用程序 , http协议的更多相关文章

  1. web应用程序+HTTP协议

    标签(空格分隔): Django web应用程序案例: 如果我们想通过自己电脑访问京东,就是一个网络编程(因为京东的服务部署在京东,通过自己的电脑浏览器传输到京东服务就是网络编程):只要涉及到网络编程 ...

  2. Django准备知识-web应用、http协议、web框架、Django简介

    一.web应用 Web应用程序是一种可以通过web访问的应用程序(web应用本质是基于socket实现的应用程序),程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件 ...

  3. django基础(web框架,http协议,django安装)

    学习Django之前我们先来看什么是OSI七层模型: 应用层 表示层       应用层(五层模型中把这三层合成一个应用层) http协议 会话层 传输层                  提供端口对 ...

  4. Django系列之web应用与http协议

    第一节:最简单的web应用程序 web应用程序指供浏览器访问的程序,通常也简称为web应用.应用程序有两种模式C/S,B/S.C/S是客户端/服务器程序.也就是说这类程序一般独立运行.而B/S就是浏览 ...

  5. 1、Django系列之web应用与http协议

    第1节:最简单的web应用程序 Web应用程序指供浏览器访问的程序,通常也简称为Web应用.应用程序有两种模式C/S.B/S.C/S是客户端/服务器端程序,也就是说这类程序一般独立运行.而B/S就是浏 ...

  6. Django 常用的 Web 应用程序工具

    Django 提供了多种开发 Web 应用程序所需的常用工具,如:缓存.日志.发送邮件.自定义认证等,更多可参考:<https://docs.djangoproject.com/zh-hans/ ...

  7. [Python] 利用Django进行Web开发系列(一)

    1 写在前面 在没有接触互联网这个行业的时候,我就一直很好奇网站是怎么构建的.现在虽然从事互联网相关的工作,但是也一直没有接触过Web开发之类的东西,但是兴趣终归还是要有的,而且是需要自己动手去实践的 ...

  8. web理论知识--网页访问过程(附有Django的web项目访问流程)

    当我们闲暇之余想上网看看新闻,或者看个电影,通常的操作是:打开电脑.打开浏览器.输入网址.浏览页面信息.点击自己感兴趣的连接......那么有没有想过,这些网页从哪里来的?过程中计算机又做了什么事情了 ...

  9. Web框架本质及第一个Django实例 Web框架

    Web框架本质及第一个Django实例   Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web ...

随机推荐

  1. LVS部分调度算法的适应场景分析

    1.轮叫调度算法(RR)假设所有服务器处理性能均相同,不管服务器的当前连接数和响应速度.该算法相对简单,不适用于服务器组中处理性能不一的情况,而且当请求服务时间变化比较大时,轮叫调度算法容易导致服务器 ...

  2. antiSMASH数据库:微生物次生代谢物合成基因组簇查询和预测

    2017年4月28日,核酸研究(Nucleic Acids Research)杂志上,在线公布了一个可搜索微生物次生代谢物合成基因组簇的综合性数据库antiSMASH数据库 4.0版,前3版年均引用2 ...

  3. JS弹出子窗口

    目的 在一个主窗口中,点击一个链接, 弹出一个子窗口 , 父窗口保留 在子窗口中点击关闭, 关闭子窗口. 子窗口的位置位于屏幕的中间 实现 main.html <!DOCTYPE html> ...

  4. BZOJ 3489: A simple rmq problem KDtree

    Code: #include<bits/stdc++.h> #define maxn 200000 #define inf 100000000 #define mid ((l+r)> ...

  5. 【转】resultMap详解(包含多表查询)

    简介: MyBatis的每一个查询映射的返回类型都是ResultMap,只是当我们提供的返回类型属性是resultType的时候,MyBatis对自动的给我们把对应的值赋给resultType所指定对 ...

  6. exist not exist 分析

    结果集1 结果集2: 最后连接条件 执行过程: 一行一行遍历结果集1的数据,然后结果集1中的连接条件执行子查询,如果有值返回那么在看是exist  还是not exist 在决定最后的结果集是否要要不 ...

  7. Shell脚本备份数据库

    使用crontab 定时备份数据库 1. 编辑crontab 规则,定时执行脚本 2. 在my.cnf 文件中加 [mysqldump] user=root password=密码 3.编写shell ...

  8. 新浪微博API生成短链接

    通过新浪微博API,生成短链接,支持一次性转多个长链接 什么是短链接 短链接,通俗来说,就是将长的URL网址,通过程序计算等方式,转换为简短的网址字符串. 短链接服务 国内各大微博都推出了自己的短链接 ...

  9. Python 字符串和数字

    Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的数据 ...

  10. GeoTrust 企业(OV)型 增强版(EV) 多域名(SAN/UC) SSL证书

    GeoTrust 企业(OV)型 增强版(EV) 多域名(SAN/UC)SSL证书(GeoTrust True BusinessID With EV Multi-Domain(SAN/UC) SSL ...