标签为 "网络" 的存档

HTTP/1.1与HTTP/1.0的区别

  下面主要从几个不同的方面介绍HTTP/1.0与HTTP/1.1之间的差别,当然,更多的内容是放在解释这种差异背后的机制上。

1 可扩展性

  可扩展性的一个重要原则:如果HTTP的某个实现接收到了自身未定义的头域,将自动忽略它。
  Ø 在消息中增加版本号,用于兼容性判断。注意,版本号只能用来判断逐段(hop-by-hop)的兼容性,而无法判断端到端(end-to-end)的兼容性。
  例如,一台HTTP/1.1的源服务器从使用HTTP/1.1的Proxy那儿接收到一条转发的消息,实际上源服务器并不知道终端客户使用的是HTTP/1.0还是HTTP/1.1。因此,HTTP/1.1定义Via头域,用来记录消息转发的路径,它记录了整个路径上所有发送方使用的版本号。
  Ø HTTP/1.1增加了OPTIONS方法,它允许客户端获取一个服务器支持的方法列表。
  Ø 为了与未来的协议规范兼容,HTTP/1.1在请求消息中包含了Upgrade头域,通过该头域,客户端可以让服务器知道它能够  支持的其它备用通信协议,服务器可以据此进行协议切换,使用备用协议与客户端进行通信。
阅读更多…

iOS通过http post上传图片

  由于iOS无法通过html表单来上传图片,因此想要上传图片,必须实现http请求,而不能像其他语言那样通过html表单的post就能上传。 所以上传图片只能通过底层的的http post来请求,格式是这样的:
阅读更多…

HTTP 416 错误 – 所请求的范围无法满足 (Requested Range not satisfiable)

今天在做的下载模块中出现了错误,一查发现了416错误,如图所示,
错误图像
查了一下原因,是断点续传的时候,请求头信息请求的范围出错了,超出了范围,先查一下记下来。
阅读更多…

HTTP缓存机制

  HTTP/1.1中缓存的目的是为了在很多情况下减少发送请求,也即直接返回缓存;同时在许多情况下可以不需要发送完整响应。前者减少了网络回路的数量,挺高响应速度,HTTP利用一个“过期(expiration)”机制来为此目的。后者减少了网络应用的带宽,HTTP用“验证(validation)”机制来为此目的。
阅读更多…

NSURLRequestCachePolicy—iOS缓存策略

  NSURLRequestCachePolicy指定缓存逻辑。URL加载系统提供了一个磁盘和内存混合的缓存,来相应网络请求。这个缓存允许一个应用减少对网络连接的依赖,并且增加性能。使用缓存的目的是为了使用的应用程序能更快速的响应用户输入,是程序高效的运行。有时候我们需要将远程web服务器获取的数据缓存起来,减少对同一个url多次请求。
   阅读更多…

socket.error: [Errno 48] Address already in use

  用GoAgent的时候老是出现socket.error:[Errno 48] address already in use的错误,网上搜索一下,找到了一种方法。
打开终端
阅读更多…

走进base 64 编码

  以前一直用base64编码作做交互编码、算签名什么的。今天遇到一个问题,就是算把hash之后的签名base64编码之后,是有的对,又是不对,这真是奇怪了,经过一步一步的查找分析发现了,那个签名算法的要求是用websafe base64编码,我用的是普通的base64编码,这有什么区别吗?慢慢查查资料。
  先从URL转义字符说起
   阅读更多…

git 使用http代理以及常见错误

  忽然之间国外的好多网站都上不去了,包括一个git网站bitbucket.org,这个网站很奇怪,能打开,但是就是git不好使,算了,我还是自己使用代理吧!用就用原来配置好的GoAgent。
运行下面 阅读更多…

GoAgent设置流程和心得(图文并茂)

  你翻或不翻,墙都在那里,不高不矮。

— — 一个上不去国外技术网站的程序员

  好多网站突然都上不去了,我真的不知道是怎么回事的?不过找到了解决的办法,就是配置一个GoAgent就可以解决此问题。于是就网上搜索点教程配置了一下。

准备工作

1 -申请Google App Engine账号
登录 http://appengine.google.com ,如果你已经拥有一个Gmail账户,直接输入账号密码就可以登录;如果没有则需要新申请一个Gmail账户。
阅读更多…