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

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

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: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响应码信息

这里写图片描述

常用的Http请求方式

这里写图片描述

Http协议的特点

这里写图片描述

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

这里写图片描述 ——————这里写图片描述

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

Http1.1和Http1.0的区别


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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值