更多 标签 'Http'
  • Android从服务器获取图片数据
  • 在昨天的 Android 使用 HttpClient 从服务器获取数据 这一小节里,我们演示了 Android 如何从服务器获取数据,并把数据更新到 UI 上。但是这还不是我们的目标,我们的目标是做一个图片应用,所以今天我们做的例子是,从服务器拿一张图片,并且更新到 UI 上。
  • Android 使用 HttpClient 从服务器获取数据
  • 在 用Handler实现线程间的消息通信 这个小节里,我们的初衷是,点击按钮,然后启动 LoadPicThread 线程,从网上获取数据,再把数据更新到 TextView 里。但是因为那会我们主要讲的是线程,所以把网络这一块忽略了,仅仅用一个 String 来代替服务器返回的内容。
  • 从输入网址到网页显示:DNS查找与请求发送
  • 从你在浏览器输入一个网址,到网页显示,其中背后发生了什么呢?接下来的小节里让我们好好探讨下这个问题。导航的第一步是通过访问的域名找出其IP地址。DNS查找过程如下:浏览器会缓存DNS记录一段时间。 有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器会储存个自固定的一个时间(2分钟到30分钟不等)。
  • fsockopen与HTTP 1.1/HTTP 1.0
  • 在前面的例子中,HTTP请求信息头有些指定了 HTTP 1.1,有些指定了 HTTP/1.0,有些又没有指定,那么他们之间有什么区别呢?关于HTTP 1.1与HTTP 1.0的一些基本情况,可以参考下 HTTP 1.1的详细介绍 。
  • fsockopen以Socket方式模拟HTTP下载文件
  • fsockopen 的功能很强大,比如前面模拟 HTTP 访问,模拟 POST/GET 请求,什么的,这里再举一个例子,那就是下载东西。比如下载 http://www.nowamagic.net//librarys/webapp/Snow.zip 这个文件,用下面的程序就能实现……
  • 长轮询的几个关键过程
  • 所谓长连接(不是指HTTP keep alive),就是要在客户端与服务器之间创建和保持稳定可靠的连接。其实它是一种很早就存在的技术,但是由于浏览器技术的发展比较缓慢,没有为这种机制的实现提供很好的支持。所以要达到这种效果,需要客户端和服务器的程序共同配合来完成。通常的做法是,在服务器的程序中加入一个死循环,在循环中监测数据的变动。
  • 了解HTTP Keep-Alive的基本情况
  • HTTP Keep-Alive 很大程序上被误解了,下面介绍一下它在HTTP/1.0和HTTP/1.1版本下是如何工作的。Keep-Alive是HTTP协议中非常重要的一个属性。大家知道HTTP构建在TCP之上。在HTTP早期实现中,每个HTTP请求都要打开一个socket连接。这种做效率很低,因为一个Web 页面中的很多HTTP请求都指向同一个服务器。
  • 弄清楚HTTPServer与Request处理流程
  • TCPServer.bind_sockets()会返回一个socket对象的列表,列表中的socket都是用来监听客户端连接的。列表由TCPServer.add_sockets()处理。在这个函数里我们就会看到IOLoop相关的东西。首先,io_loop是TCPServer的一个成员变量,这说明每个TCPServer都绑定了一个io_loop。
  • Tornado HTTP服务器的基本流程
  • 本小节介绍Tornado HTTP服务器的基本流程,分别分析httpserver, ioloop, iostream模块的代码来剖析Tornado底层I/O的内部实现。该http服务器主要使用到IOLoop, IOStream, HTTPServer, HTTPConnection几大模块,分别在代码ioloop.py, iostream.py, httpserver.py中实现。
  • HTTP层:HTTPRequest,HTTPServer与HTTPConnection
  • 前面小节在分析 handler 时提到,handler 的读写实际是依靠 httprequest 来完成的。今天就分析 tornado 在 HTTP 这一层上的实现,类包括 HTTPRequest, HTTPServer 和 HTTPConnection.首先,HTTP 协议是建立在面向连接的可靠连接协议 TCP 协议之上,是应用层协议,亦即它的协议内容会涉及网络业务逻辑,而与网络连接处理等底层细节关系不大,因此今天只会提到少量 socket 内容。
  • Python HTTP客户端如何实现自定义Cookie
  • 几乎所有脚本语言都提供了方便的 HTTP 客户端处理的功能,Python 也不例外,使用 urllib 和 urllib2 可以很方便地进行 HTTP GET 和 POST 等各种操作。并且还允许以类似于插件的形式加入一些 handler ,来定制 request 和 response ,比如代理的支持和 cookie 的支持都是这样添加进来的。
  • Tornado的HTTP SERVER模型
  • 使用 Tornado 可以很方便地架构出各种类型的web服务器。我们现在从 HTTP 服务器入手,来看一下它的实现。下面这张图大家应该见得很多了,是所有 web server 的一般工作方式。当需要处理成千上万的连接的时候,我们就会在这个基础上考虑更多的情况。这也就是大家熟悉的The C10K problem。
  • HTTP 1.1的详细介绍
  • 从前面一小节的表格里,我们可以看到,Gunicorn 的一个缺点是不支持HTTP 1.1。那么 HTTP 1.1 究竟是怎么一回事呢?我们选择 HTTP 服务器在什么情况下需要考虑对 HTTP 1.1 的支持?HTTP 1.1在继承了HTTP 1.0优点的基础上,也克服了HTTP 1.0的性能问题。
  • 列举一些常见的Python HTTP服务器
  • 要使 Python 写的程序能在 Web 上被访问,还需要搭建一个支持 Python 的 HTTP 服务器。下面列举一些常见的 Python HTTP 服务器,以及它们目前的大致发展情况,以便用户的对比选择……
  • 请求处理机制其一:进入Django前的准备
  • 首先发生的是一些和 Django 有关(前期准备)的其他事情,分别是:如果是 Apache/mod_python 提供服务,request 由 mod_python 创建的 django.core.handlers.modpython.ModPythonHandler 实例传递给 Django。如果是其他服务器,则必须兼容 WSGI。
更多 推荐文章

Welcome to NowaMagic Academy

现代魔法 推荐于 2013-02-27 10:23

更多 目录树
更多 热门小组
魔法达人