Android学习之Android中Http通信:Http协议
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状态码返回。
更多相关文章
- Android(安卓)安全机制
- Android(安卓)客户端与服务器端进行数据交互(二、登录客户端)
- Android(安卓)Mms 源码结构
- Android(安卓)UI 组件开源软件
- Content Prodvider 类----实例:获取通讯录信息
- 安卓微信第三方登陆
- Android使用本地缓存解析远程服务器JSON数据
- android ListView本行控件操作本行其它控件的重要方法(绝对原创,本
- 获取手机屏幕宽高、分辨率等信息