Http 学习

来源:互联网 发布:淘宝店铺歌曲 编辑:程序博客网 时间:2024/05/21 19:31

Android Http

  1. Http协议
    1) 超文本传输协议(HTTP-Hypertext transfer protocol)定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网温度,以及服务器怎样把文档传送给浏览器。从层次的角度看,HTTP是面向(transaction-oriented)应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件) 的重要依据。

    2) 工作流程
    一次HTTP操作称为一个事务,其工作过程可分为四步:
    1) 首先客户机与服务器需要建立连接,只要单击某个超级链接,HTTP的工作开始。
    2)建立连接后,客户机发送一个请求给服务器,请求格式为: 统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。
    3)服务器接收到请求后,给予相应的响应信息,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
    4)客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。

2.URL
统一资源定位符(URL,英语UniformResourceLocator的缩写),也被称为网页地址,是因特网上标准的资源的地址。
URL的格式由下列三部分组成:
第一部分是协议(或称为服务方式)
第二部分是存有该资源的主机IP地址(有时也包括端口号)
第三部分是主机资源的具体地址,如目录和文件名。
第一部分和第二部分之间用”://”符号隔开,第二部分和第三部分用”/”符号隔开。第一部分和第二部分是不可缺少的,第三部分有时可以省略。现在几乎所有的URI都是URL。

3.SYN
1) SYN(synchronous)是TCP/IP建立连接时使用的握手信号,在客户机和服务器之间建立正常的TCP网络连接时,客户机首先发出一个SYN消息,服务器使用SYN+ACK应答表示接手到了这个消息,最后客户机再以ACK消息响应。这样在客户机和服务器之间才能建立起可靠的TCP连接,数据才可以在客户机和服务器之间传递。
2) ACK(Acknowledgement),即确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符。表示发来的数据已确认接收无误。

4.HTTP协议的主要特点:
1)支持客户/服务器模式
2)简单快速: 客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
3)灵活: HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
4)无连接: 无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
5)无状态: HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答比较快。

5.OSI
国际标准化组织ISO于1981年正式推荐了一个网络系统架构——七层参考模式,叫做开放系统互联模型(Open System Interconnection,OSI)。
OSI参考模型将整个网络通信的功能划分为七个层次。它们由低到高分别是物理层(PH)、数据链路层(DL)、网络层(N)、传输层(T)、会话层(S)、表示层(P)、应用层(A)。每层完成一定的功能,每层都直接为其上层提供服务,并且所有层次都互相支持。第四层到第七层主要负责互操作性,而一层到三层则用于创造两个网络设备间的物理连接。
TCP/IP四层: 应用层(ftp、telnet)、传输层(tcp、udp)、网络层、主机到网络层。

  1. HTTP1.0与1.1区别
    HTTP/1.0 每次请求都需要建立新的TCP连接,连接不能复用。
    HTTP/1.1 新的请求可以在上次请求建立的TCP连接之上发送,连接可以复用,优点是减少进行TCP三次握手的开销,提高效率。
    HTTP/1.1 在Request消息头里多了一个Host域,Http/1.0则没有这个域。Host:www.w3c.org
    HTTP/1.1增加了OPTIONS,PUT,DELETE,TRACE,CONNENCT这些Request方法。

  2. HttpUrlConnection介绍
    获取网络信息

  3. 给服务器传递参数

  4. 协议详解

  5. HttpClient介绍

  6. Json格式
    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。
    {“name”:”mazaiting”,”value”:value}