Android基础之Http基础详解

来源:互联网 发布:鲁滨逊漂流记java游戏 编辑:程序博客网 时间:2024/06/16 03:48

一、http协议:

HTTP 是超文本传输协议(Hypertext transfer protocol),面向应用层协议,传输的对象为文件

一次Http操作为一个事务

1:客户机和服务器建立连接,单击链接开始工作2:客户机发送请求给服务器,格式为URL、协议版本号,后面是MIME信息3:服务器接到请求后,给以响应信息,格式为一个状态行,包括协议版本号、一个成功或错误的代码,后面是MIME信息(404错误代码为无法响应)4:客户端街道服务器的响应信息,然后断开连接HTTP协议是一个无状态的协议

二、URL结构

URL(UniformResourceLocator)为网页地址。由三部分构成:第一部分为协议(https为加密协议)、第二部分为IP地址(一般是域名表示IP地址)(有时包括端口号)、第三部分为主机资源的具体地址,如目录和文件名

三、TCP/IP三次握手

SYN是TCP/IP连接时使用的握手信息(synchronous),在客户机和服务器之间建立正常的TCP网络连接时,客户机首先发出一个SYN信息,服务器使用SYN和ACK应答表示接受到了这个信息,最后客户机再以ACK信息确认响应,这样在客户机和服务器机建立起可靠的TCP连接

ACK(Acknowledgement)即确认字符,表示已经接受到信息
三次握手:

客户机:你好,我想和你建立连接(发送SYN请求连接)服务器:你好,我已经接受到信息并且已经准备连接,同时我也想和你建立连接(发送ACK表示可以连接,同时发送SYN表示连接想法)客户机:谢谢,我已经收到你的连接想法,同时我已经准备连接(回发ACK表示可以连接)

整个过程是双方都需要向对方发送连接想法和确认连接信息
这里写图片描述

四、http请求头信息:

Request URL:请求的地址Request Method:请求方法Status Code:请求状态Accept:可以接受的文件格式Accept-Encoding:可接受的编码Accept-Language:可接受的语言Connection:连接方式Host:主机地址

五、Http协议特点:

1.支持客户/服务器模式。2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并受到客户的应答后,即断开连接。采用这种方式可以节省传输时间。5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快

六、OSI模型

OSI参考模型将整个网络通信功能划分为七个层次:
由低到高分别是物理层PH、数据链路层DL、网络层N、传输层T、会话层S、表示层P、应用层A
http协议属于应用层
每层直接为其上层提供服务,并且所有层次都互相支持。四到其层负责互操作性;一到三层用于创造两个网络设备间的物理连接

物理层和数据链路层:将比特流转换成电流信息,在物理设备电流设备转化网络层:IP协议,规划网络ip地址传输层:降底层信息通过nava协议传输,对应tcp、udp等协议会话层:建立连接表示层:在两个不同编码方式下进行数据转化和编码的加密解密操作应用层:http访问层,应用请求协议提出tcp/ip四层协议(对于OSI协议的一个简化)

七、http/1.0和1.1区别

HTTP/1.0每次请求都需要建立新的TCP连接,连接不能复用。HTTP/1.1新的请求可以在上次请求建立的TCP连接之上发送,连接可以复用。优点是减少重复进行TCP三次握手的开销,提高效率。HTTP1.1在Request消息头里头多了一个Host域,HTTP1.0则没有这个域。Host:www.w3.orgHTTP1.1增加了OPTIONS,PUT,DELETE,TRACE,CONNECT这些Request方法
0 0
原创粉丝点击