互联网正在引发一场革命??不喜欢看概念的跳过,注意这里仅仅是一些从python核心编程一书的摘抄

这正是最激动人心的一部分了,web编程

Web 客户端和服务器端交互使用的“语言”,Web 交互的标准协议是HTTP(超文本传输协议)。HTTP
协议是TCP/IP 协议的上层协议,这意味着HTTP 协议依靠TCP/IP 协议来进行低层的交流工作。它的
职责不是路由或者传递消息(TCP/IP 协议处理这些),而是通过发送、接受HTTP 消息来处理客户端
的请求。

HTTP 协议属于无状态协议,它不跟踪从一个客户端到另一个客户端的的请求信息,这点和我们
现今使用的客户端/服务器端架构很像。服务器端持续运行,但是客户端的活动是按照这种结构独立
进行的:一旦一个客户的请求完成后,活动将被终止。可以随时发送新的请求,但是他们会被处理
成独立的服务请求。由于每个请求缺乏上下文背景,你可以注意到有些URL 会有很长的变量和值作
为请求的一部分,以便提供一些状态信息。另外一个选项是“cookie”--保存在客户端的客户状态
信息。在本章的后面部分,我们将会看到如何使用URL 和cookie 来保存状态信息。

具有大型Web 站点的公司会将他们全部的
“Web 服务器” 放在ISP 那里。这种物理安放被称为“整合”,这意味着你的服务器和其它客户的服
务器一同放在ISP 处被“集中管理”。这些服务器或许为客户提供了不同的数据或者有一部分为应付
重负荷(高数量用户群)而设计成了可以存储重复数据的系统。小公司的Web 站点或许不需要这么
大的硬盘或者网络设备,也许仅有一个或者几个“整合”服务器安放在他们的ISP 处就可以了。

在任何一种情况下,大多数“整合”服务器被部署在大型ISP 提供的骨干网上,这意味着他们
具有更高的“带宽”,如果你愿意,可以更接近因特网的核心点,从而可以更快的与因特网取得连接。

这就允许客户端可以绕过许多网络直接快速的访问服务器,从而在指定的时间内可以使得更多的客
户获得服务。

有一点需要记清楚,Web 应用是网络应用的一种最普遍的形式,但不是唯一的也不是最古老的一
种形式。因特网的出现早于Web 近三十年。在Web 出现之前,因特网主要用于教学和科研目的。因
特网上的大多数系统都是运行在Unix 平台上的—一个多用户操作系统,许多最初的因特网协议至今
仍被沿用。

这里注意因特网和web是不一样的,因特网的出现要早于web

这些协议包括telnet(允许用户在因特网上登录到远程的主机上,至今仍用),FTP 协议(文本
传输协议,用户通过上传和下载文件可以共享文件和数据,至今仍用),Gopher(Web 搜索引擎的雏
形—一个在互联网上爬动的小软件“gopher”可以自动寻找你感兴趣的数据),SMTP 或者叫做简单邮
件传输协议(这个协议用于最古老的也是应用最广泛的电子邮件),NNTP(新闻对新闻传输协议)。

由于Python 的最初偏重就是因特网编程,除了其他一些东西外你还可以找到上边提及的所有协
议。可以这样区分“因特网编程”和“Web 编程”,后者仅包括针对Web 的应用程序开发,也就是说
Web 客户端和服务器是本章的焦点。

因特网编程涵盖更多范围的应用程序:包括我们之前提及的一些因特网协议,例如:FTP, SMTP
等,同时也包括我们前面提到的网络编程和套接字编程。

python web编程-概念预热篇的更多相关文章

  1. 系列文章--Python Web编程

    我从网上找到了其他园友的文章,很不错,留着自己学习学习. Python Web编程(一)Python Web编程(二)Python Web编程(三)Python Web编程(四)Python Web编 ...

  2. python web编程-CGI帮助web服务器处理客户端编程

    这几篇博客均来自python核心编程 如果你有任何疑问,欢迎联系我或者仔细查看这本书的地20章 另外推荐下这本书,希望对学习python的同学有所帮助 概念预热 eb客户端通过url请求web服务器里 ...

  3. python 面向对象编程(高级篇)

    飞机票 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可以讲多函数中公用的变量封装到对象中) 对象,根据模板创建的实例(即:对 ...

  4. Python web编程 初识TCP UDP

    Python网络编程之初识TCP,UDP 这篇文章是读了<Python核心编程>第三版(Core Python Applications)的第二章网络编程后的自我总结. 如果有不到位或者错 ...

  5. Python并发编程的几篇文章

    Python几种并发实现方案的性能比较 http://www.elias.cn/Python/PyConcurrency?from=Develop.PyConcurrency python并发编程 h ...

  6. Python 并发编程:PoolExecutor 篇

    个人笔记,如有疏漏,还请指正. 使用多线程(threading)和多进程(multiprocessing)完成常规的并发需求,在启动的时候 start.join 等步骤不能省,复杂的需要还要用 1-2 ...

  7. python 面向对象编程(初级篇)

    飞机票 概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 面向过程编程最 ...

  8. python网络编程——socket基础篇

    python的网络编程比c语言简单许多, 封装许多底层的实现细节, 方便程序员使用的同时, 也使程序员比较难了解一些底层的东西. 1 TCP/IP 要想理解socket,首先得熟悉一下TCP/IP协议 ...

  9. python web编程 创建一个web服务器

    这里就介绍几个底层的用于创建web服务器的模块,其中最为主要的就是BaseHTTPServer,很多框架和web服务器就是在他们的基础上创建的 基础知识 要建立一个Web 服务,一个基本的服务器和一个 ...

随机推荐

  1. c++数据类型和定义

    我们都知道,刚开始学习数学的时候.乘法口诀.99乘法口诀.这个是大家都需要背的.背熟了这个,大家才能知道遇到算术题如何计算.这个99乘法口诀就是一种定义. 同样任何的语言都会有很多的定义.比如语文:各 ...

  2. (转)高性能网站架构之缓存篇—Redis集群搭建

    看过 高性能网站架构之缓存篇--Redis安装配置和高性能网站架构之缓存篇--Redis使用配置端口转发 这两篇文章的,相信你已经对redis有一定的了解,并能够安装上,进行简单的使用了,但是在咱们的 ...

  3. oracle,mybatis主键自增长

    <insert id="insert" parameterType="resource"> <selectKey resultType=&qu ...

  4. cxLookupComboBox 控件

    cxLookupComboBox cxLookupComboBox1.Properties.ListSource        //显示数据源     dtsTmnList cxLookupCombo ...

  5. js 一搬问题汇总

    --有时无法进行js调试,在浏览器中设置启用脚本调试就可以了

  6. hiho一下第一周 最长回文子串

    题目链接:http://hihocoder.com/contest/hiho1/problem/1 #include <iostream> #include <cstdio> ...

  7. WCF错误:413 Request Entity Too Large

    在我们用WCF传输数据的时候,如果启用默认配置,传输的数据量过大,经常会出这个错误. WCF包含服务端与客户端,所以这个错误可能出现在服务端返回数据给客户端,或客户端传数据给服务端时. 1. 服务端返 ...

  8. IIS7.0提示---无法识别的属性“targetFramework”。请注意属性名称区分大小写。

    当我把我做的网站放在IIS7.0的服务器上的时候,浏览时提示这个错误信息 配置错误 说明: 在处理向该请求提供服务所需的配置文件时出错.请检查下面的特定错误详细信息并适当地修改配置文件. 分析器错误消 ...

  9. oracle两时间相减得到相差的时间

    1.months_between(date1,date2);date1和date2相减得到相差的月份. select months_between(to_date('2015-05-11','yyyy ...

  10. android setCompoundDrawables 不显示问题

    在 vh.tvAddr.setCompoundDrawables(getResources().getDrawable(R.drawable.ic_real_state_loc), null, nul ...