ios HTTP协议的理解
2016-03-30 17:15
218 查看
一、URL (统一资源定位符)
1、URL就是资源的地址、位置,互联网上的每个资源都有一个唯一的URL
2、URL 基本格式 -> 协议:// 主机地址/路径
协议 : 不同的协议,代表不同资源的查找方式,资源传输方式
主机地址 : 存放资源的主机(服务器)的IP地址(域名)
路径 : 资源在主机(服务器)的具体位置(或路径)
二、URL 中常见的协议
1、HTTP(超文本传输协议,属于应用层)
访问的是远程的网络资源,网络开发中最常见的协议,格式是http://
2、 file
访问的是本地计算机上的资源,格式是file://
3、FTP
访问的共享主机的文件资源,格式是 ftp://
三、HTTP 协议
1、 简介
不管是移动客户端还是PC端,访问远程的网络资源经常使用HTTP协议
2、作用
规定服务器和客户端之间的数据传输格式
3、为什么选择HTTP协议(无状态、短链接)
短连接 : http协议是建立在tcp协议基础上,没当客户端需要发送获取数据请求的时候,http会通过tcp建立起一个到服务器的连接通道,当本次请求需要的数据完毕后,http会立即将tcp连接断开,这个过程是很短的。这种方式可以节省传输时间。
无状态: 客户端每次向服务器发起请求的时候,不是通过一个连接,而是每次都建立一个新的连接。如果是一个连接的话,服务器进程中就能保持住这个连接并且在内存中记住一些信息状态。而每次请求结束后,连接就关闭,相关的内容就释放了,所以记不住任何状态,成为无状态连接。
灵活 : 允许传输任意类型是数据
4、HTTP 的通信过程
请求 : 客户端向服务器发送数据请求
响应 : 服务器返回数据给客户端
![](http://img.blog.csdn.net/20160330152007406)
请求过程
客户端向服务器发送数据请求必须包含以下内容:
( 1 ) 请求行 : 请求方式、请求资源路径、http协议版本等
( 2 ) 请求头 : 对客户端的环境描述(能接受的数据类型、客户端的语言环境等)、客户端请求的主机地址等信息。
( 3 ) 请求体 : 客户端发送给服务器的具体数据(例如文件数据等)
响应过程:
客户端向服务器发送请求,服务器应当做出响应,即返回数据给客户端。
( 1 ) 状态行 : http协议版本,状态码
( 2 ) 响应头 : 包含对服务器的描述,对返回数据的描述(服务器类型、返回数据的类型、数据长度)
( 3 ) 响应体(实体内容) : 服务器返回给客户端的具体数据
5、常见的状态码
200 -> 请求成功
404 -> 服务器无法找到客户端想要的资源
500 -> 服务器内部发生错误,无法完成请求
400 -> 客户端语法错误
四、请求方法
1、有PUT/DELETE/GET/POST等,最常见的就是GET和POST请求
2、GET请求
在请求URL后面以?的形式跟上发给服务器的参数,多个参数之间用&隔开。比如 :
http://ww.test.com/login?username=123&pwd=234&type=JSON
注意: 由于浏览器和服务器对URL长度有限制,因此在URL后面附带的参数是有限制的,通常不能超过1KB
3、POST请求
请求参数放在请求体中,安全性高,传递的数据量没有限制
4、GET和POST的选择
( 1 ) 涉及到数据量大的,例如传递文件(图片),用POST
( 2 ) 涉及到安全性的问题,建议用POST
( 3 ) 其他的都可以用get
1、URL就是资源的地址、位置,互联网上的每个资源都有一个唯一的URL
2、URL 基本格式 -> 协议:// 主机地址/路径
协议 : 不同的协议,代表不同资源的查找方式,资源传输方式
主机地址 : 存放资源的主机(服务器)的IP地址(域名)
路径 : 资源在主机(服务器)的具体位置(或路径)
二、URL 中常见的协议
1、HTTP(超文本传输协议,属于应用层)
访问的是远程的网络资源,网络开发中最常见的协议,格式是http://
2、 file
访问的是本地计算机上的资源,格式是file://
3、FTP
访问的共享主机的文件资源,格式是 ftp://
三、HTTP 协议
1、 简介
不管是移动客户端还是PC端,访问远程的网络资源经常使用HTTP协议
2、作用
规定服务器和客户端之间的数据传输格式
3、为什么选择HTTP协议(无状态、短链接)
短连接 : http协议是建立在tcp协议基础上,没当客户端需要发送获取数据请求的时候,http会通过tcp建立起一个到服务器的连接通道,当本次请求需要的数据完毕后,http会立即将tcp连接断开,这个过程是很短的。这种方式可以节省传输时间。
无状态: 客户端每次向服务器发起请求的时候,不是通过一个连接,而是每次都建立一个新的连接。如果是一个连接的话,服务器进程中就能保持住这个连接并且在内存中记住一些信息状态。而每次请求结束后,连接就关闭,相关的内容就释放了,所以记不住任何状态,成为无状态连接。
灵活 : 允许传输任意类型是数据
4、HTTP 的通信过程
请求 : 客户端向服务器发送数据请求
响应 : 服务器返回数据给客户端
请求过程
客户端向服务器发送数据请求必须包含以下内容:
( 1 ) 请求行 : 请求方式、请求资源路径、http协议版本等
( 2 ) 请求头 : 对客户端的环境描述(能接受的数据类型、客户端的语言环境等)、客户端请求的主机地址等信息。
( 3 ) 请求体 : 客户端发送给服务器的具体数据(例如文件数据等)
响应过程:
客户端向服务器发送请求,服务器应当做出响应,即返回数据给客户端。
( 1 ) 状态行 : http协议版本,状态码
( 2 ) 响应头 : 包含对服务器的描述,对返回数据的描述(服务器类型、返回数据的类型、数据长度)
( 3 ) 响应体(实体内容) : 服务器返回给客户端的具体数据
5、常见的状态码
200 -> 请求成功
404 -> 服务器无法找到客户端想要的资源
500 -> 服务器内部发生错误,无法完成请求
400 -> 客户端语法错误
四、请求方法
1、有PUT/DELETE/GET/POST等,最常见的就是GET和POST请求
2、GET请求
在请求URL后面以?的形式跟上发给服务器的参数,多个参数之间用&隔开。比如 :
http://ww.test.com/login?username=123&pwd=234&type=JSON
注意: 由于浏览器和服务器对URL长度有限制,因此在URL后面附带的参数是有限制的,通常不能超过1KB
3、POST请求
请求参数放在请求体中,安全性高,传递的数据量没有限制
4、GET和POST的选择
( 1 ) 涉及到数据量大的,例如传递文件(图片),用POST
( 2 ) 涉及到安全性的问题,建议用POST
( 3 ) 其他的都可以用get
相关文章推荐
- HttpClient详细实例,Httoclient调用https实例,避免https SSL认证
- 卷积神经网络
- 网络摘抄
- 解决IIS7虚拟目录出现HTTP 错误 500.19(由于权限不足而无法读取配置文件)的问题
- struts2获得HttpServlet对象的方式
- android加载网络图片时有效避免OOM
- 使用URLConnection与HttpClient进行接口对接
- Linux内核网络部分---IP数据报文分片重组
- 404、500、502等HTTP状态码介绍
- 网络中IP数据报传输的过程
- Android WebView blocks redirect from https to http
- [HTTP协议练习之一]Get请求
- HTTP 协议
- iOS获取本地视频和网络URL视频的缩略图方法
- (转)使用Jmeter进行http接口测试
- Android AndBase框架使用封装好的函数完成Http请求(三)
- PySpider HTTP 599: SSL certificate problem错误的解决方法
- http协议
- android+https网址屏蔽证书+IntentService+NotifyManager通知栏+下载apk文件+在通知栏显示下载进度+完成之后提示安装
- linux TCP Wrappers