Android-Http协议

Http协议

  超文本传输协议,为无状态协议,基于请求和响应,有两个版本1.0,1.1,分别为短连接和长连接.

  短连接(http1.0默认):连接网络-->请求-->响应-->断开连接....连接网络-->请求-->响应-->断开连接....

  长连接(http1.1默认):连接网络-->请求-->响应-->请求-->响应-->请求-->响应....断开连接....

请求和响应的格式

  请求:  

      a.请求行 (请求方式Method 资源路径 http版本号)-->(Get http://www.sohu.com/Default.aspx HTTP/1.1)

      b.消息头 (说明服务器要使用的附加信息)-->(ContentType:application/json Content_Length:18 等等其他头信息)

      c.请求实体 (需要传输到服务端的数据内容,以Post方式请求时才会有该项数据)

    GET请求

        GET / HTTP / 1.1

        Accept: */*

        Accept-Language: zh-cn

        Accept-Encoding: gzip, deflate

        User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)

        Host: www.google.cn

        Connection: Keep-Alive

    POST请求

        POST / HTTP1.1

        Host:www.wrox.com

        User-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)

        Content-Type:application/x-www-form-urlencoded

        Content-Length:40

        Connection: Keep-Alive

 

        name=Professional%20Ajax&publisher=Wiley

    说明:  

        Content-Type说明了请求主体的内容是如何编码的.浏览器始终以application/x-www-form-urlencoded的格式编码来传送数据,这是针对简单URL编码的MIME类型.

        Content-Length说明了请求主体的字节数.

        最后请求主体.名称-值对的形式.

  响应:

      a.状态行 (协议 状态码 状态描述)

      b.消息头

      c.响应实体

        HTTP/1.1 200 OK

        Date: Fri, 22 May 2009 06:07:21 GMT

        Content-Type: text/html; charset=UTF-8

        <html>

        <head></head>

        <body>

        <!--body goes here-->

        </body>

        </html>

    说明:

        HTTP状态码200,找到资源,并且一切正常.

        Date:生成响应的日期和时间.

        Content-Type:指定了MIME类型的HTML(text/html),编码类型是UTF-8HTML源文体.

HTTP状态码:

    100 继续
    101 分组交换协
    200 OK
    201 被创建
    202 被采纳
    203 非授权信息
    204 无内容
    205 重置内容
    206 部分内容
    300 多选项
    301 永久地传送
    302 找到
    303 参见其他
    304 未改动
    305 使用代理
    307 暂时重定向
    400 错误请求
    401 未授权
    402 要求付费
    403 禁止
    404 未找到
    405 不允许的方法
    406 不被采纳
    407 要求代理授权
    408 请求超时
    409 冲突
    410 过期的
    411 要求的长度
    412 前提不成立
    413 请求实例太大
    414 请求URI太大
    415 不支持的媒体类型
    416 无法满足的请求范围
    417 失败的预期
    500 内部服务器错误
    501 未被使用
    502 网关错误
    503 不可用的服务
    504 网关超时
    505 HTTP版本未被支持

转自: http://www.cnblogs.com/cuixiaobo/archive/2012/06/30/2570926.html

原文地址:https://www.cnblogs.com/kingshow123/p/protocol1.html