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),即确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符。表示发来的数据已确认接收无误。Android学习之Android中Http通信:Http协议_第1张图片

Http请求头信息

Remote Address:222.216.229.32:443
Request 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响应码信息

Android学习之Android中Http通信:Http协议_第2张图片

常用的Http请求方式

Http协议的特点

Android学习之Android中Http通信:Http协议_第3张图片

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

Android学习之Android中Http通信:Http协议_第4张图片 ——————Android学习之Android中Http通信:Http协议_第5张图片

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

Http1.1和Http1.0的区别

Android学习之Android中Http通信:Http协议_第6张图片
 Host头域
  Host头域指定请求资源的Intenet主机和端口号,必须表示请求url的原始服务器或网关的位置。HTTP/1.1请求必须包含主机头域,否则系统会以400状态码返回。

你可能感兴趣的:(Android学习之Android中Http通信:Http协议)