python web编程-概念预热篇
互联网正在引发一场革命??不喜欢看概念的跳过,注意这里仅仅是一些从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编程-概念预热篇的更多相关文章
- 系列文章--Python Web编程
我从网上找到了其他园友的文章,很不错,留着自己学习学习. Python Web编程(一)Python Web编程(二)Python Web编程(三)Python Web编程(四)Python Web编 ...
- python web编程-CGI帮助web服务器处理客户端编程
这几篇博客均来自python核心编程 如果你有任何疑问,欢迎联系我或者仔细查看这本书的地20章 另外推荐下这本书,希望对学习python的同学有所帮助 概念预热 eb客户端通过url请求web服务器里 ...
- python 面向对象编程(高级篇)
飞机票 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可以讲多函数中公用的变量封装到对象中) 对象,根据模板创建的实例(即:对 ...
- Python web编程 初识TCP UDP
Python网络编程之初识TCP,UDP 这篇文章是读了<Python核心编程>第三版(Core Python Applications)的第二章网络编程后的自我总结. 如果有不到位或者错 ...
- Python并发编程的几篇文章
Python几种并发实现方案的性能比较 http://www.elias.cn/Python/PyConcurrency?from=Develop.PyConcurrency python并发编程 h ...
- Python 并发编程:PoolExecutor 篇
个人笔记,如有疏漏,还请指正. 使用多线程(threading)和多进程(multiprocessing)完成常规的并发需求,在启动的时候 start.join 等步骤不能省,复杂的需要还要用 1-2 ...
- python 面向对象编程(初级篇)
飞机票 概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 面向过程编程最 ...
- python网络编程——socket基础篇
python的网络编程比c语言简单许多, 封装许多底层的实现细节, 方便程序员使用的同时, 也使程序员比较难了解一些底层的东西. 1 TCP/IP 要想理解socket,首先得熟悉一下TCP/IP协议 ...
- python web编程 创建一个web服务器
这里就介绍几个底层的用于创建web服务器的模块,其中最为主要的就是BaseHTTPServer,很多框架和web服务器就是在他们的基础上创建的 基础知识 要建立一个Web 服务,一个基本的服务器和一个 ...
随机推荐
- poj 1326
http://poj.org/problem?id=1326 一个模拟的水题 题意就是要你算飞行的英里数. F代表头等舱,为实际飞行的英里数的2倍. B为商务舱,为实际飞行的英里数的1.5倍. Y为经 ...
- Greedy:Bound Found(POJ 2566)
神奇密码 题目大意:就是给你一个数组,要你找出连续的数的绝对值的和最接近t的那一串,并且要找出数组的上界和下界的下标,并显示他们的和 因为这一题的数有正有负,所以必须要先把和求出来,然后排序,然 ...
- 【linux】linux下动态库so文件的一些认识
来源:http://mypyg.iteye.com/blog/845915 so其实就是shared object的意思.今天看了上面的博客,感觉好吃力.赶紧做个笔记记录一下.下面的内容大多都是连接中 ...
- objective-c数组笔记
数组与可变数组 2015年6月14日 1.数组 数组的初始化方式 1.初始化一个空数组 NSArray *array = [[NSArray alloc] init];//不可变数组,数组内不可以添加 ...
- objective-c数组
1 #pragma mark -----------数组的初始化方式-------------- 2 // insert code here... 3 // NSLo ...
- Git命令之上传与同步
操作步骤,可参考:http://blog.csdn.net/chenyufeng1991/article/details/47299461. 1.在本地仓库中,即项目目录下创建文件,如: 2.查看当前 ...
- 浅析 - iOS应用程序的生命周期
1.应用程序的状态 状态如下: Not running 未运行 程序没启动 Inactive 未激活 程序在前台运行,不过没有接收到事件.在没有事件处理情况下程序通 ...
- myaql常用函数
一.数学函数 abs(x) 返回x的绝对值 bin(x) 返回x的二进制(oct返回八进制,hex返回十六进制) ceiling(x) 返回大于x的最小整数值 exp(x) 返回值e( ...
- mysql的事务处理
事务用于保证数据的一致性,它由一组相关的DML语句组成,该组的DML语句要么全部成功,要么全部失败. 示例: 银行账单 $mysqli=new mysqli("localhost" ...
- mysqli的增强功能
批量执行sql语句 批量执行dml语句 基本语法 $sqls="sql1.sql2.sql3...." mysqli::multi_query($sqls) 案例: $mysqli ...