Android学习之Android中Http通信:Http协议

  • Android学习之Android中Http通信Http协议
    • Http介绍
    • Http工作流程
    • URL
    • TCP IP三次握手
    • Http请求头信息
    • Http响应码信息
    • 常用的Http请求方式
    • Http协议的特点
    • 开放系统互联模型OSI七层协议和TCPIP四层模型
    • Http11和Http10的区别

Http介绍

Http协议就是超文本协议,定义了浏览器怎样向服务器请求万维网文档,以及服务器怎样怎么把文档回传给浏览器。Http协议是面向应用层的协议,它是万维网上可以自由交换文本,声音,图像的多种文件的重要基础。

Http工作流程

一次Http操作称为一次事务,其工作可以分为四步:
1)、客户端与服务器建立链接,单击超级链接,Http开始工作。
2)、建立链接之后,客户端发送请求给服务器,请求头,请求方法的格式:统一资源标志符(URL)、协议版本号、后面的MIME信息包括修饰符、请求内容等信息,客户端信息以及可能的内容。
3)、服务器接受到了请求之后,返回相应的响应信息,响应头,其格式为一个状态行,包括信息的版本号协议、一个成功或是错误的代码,后面的MIME信息包括服务器信息、实体信息和可能的内容。
4)、客户端接受服务器返回的信息,通过浏览器显示在客户端上。然后客户端与服务器断开连接。

URL

URL通过统一资源标志符,又被称为网页地址。包括三部分:
http://www.imooc.com/space/index
第一部分是协议名:http
第二部分是存有在资源的主机IP地址(有时也包括端口号),一般以域名为标识,用 DNS服务器来解析域名关联相关IP:www.imooc.com
第三部分是主机资源的具体地址,如目录名、文件名:space/index
第一部分和第二部以”://”间隔,第二部分和第三部分以”/”间隔。

TCP/ IP三次握手

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

Http请求头信息

Remote Address:222.216.229.32:443Request URL:https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/baiduia/JSocket_9a52fc3e.swf?0.05 //请求的IP地址 Request Method:GET //请求方式 Status Code:200 OK //状态码信息 Request Headers :host:ss1.bdstatic.com :method:GET :path:/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/baiduia/JSocket_9a52fc3e.swf?0.05:scheme:https:version:HTTP/1.1 //支持的HTTP版本号     accept:*/*        //客户端能够支持的文件类型accept-encoding:gzip,deflate//客户端支持的编码信息accept-language:zh-CN,zh;q=0.8//客户端的语言信息referer:https://www.baidu.com/user-agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36

Http响应码信息

常用的Http请求方式

Http协议的特点

开放系统互联模型OSI七层协议和TCP/IP四层模型

——————

OSI七层模型 —————————— TCP/IP四层模型

Http1.1和Http1.0的区别


 Host头域
  Host头域指定请求资源的Intenet主机和端口号,必须表示请求url的原始服务器或网关的位置。HTTP/1.1请求必须包含主机头域,否则系统会以400状态码返回。

更多相关文章

  1. Android(安卓)安全机制
  2. Android(安卓)客户端与服务器端进行数据交互(二、登录客户端)
  3. Android(安卓)Mms 源码结构
  4. Android(安卓)UI 组件开源软件
  5. Content Prodvider 类----实例:获取通讯录信息
  6. 安卓微信第三方登陆
  7. Android使用本地缓存解析远程服务器JSON数据
  8. android ListView本行控件操作本行其它控件的重要方法(绝对原创,本
  9. 获取手机屏幕宽高、分辨率等信息

随机推荐

  1. 电脑APK
  2. android.graphics包中的一些类的使用
  3. Android AsyncTask基础
  4. Android培训班(14)
  5. android 内存管理机制、异常、垃圾回收
  6. androidの当前时间动态显示
  7. Android C/C++ 开发.
  8. Android 网络评分机制
  9. Android实例剖析
  10. [Android 调试/测试] Android LOGCAT输出