HTTP请求
2016-05-01 16:22
288 查看
>1HTTP协议:超文本传输协议(Hypertext Transfer Protocol)
<1>HTTP协议规定了客户端和服务器之间的数据传输格式;
<2>HTTP协议是在网络开发中最常用的协议.不管是移动客户端还是PC端,访问网络资源最常使用的协议
<3>优点
>1简单快速;
>2灵活:可以传输任意类型的数据;
>3http协议是短连接:服务器一次连接只处理一个请求,节省资源;
>2HTTP协议的使用:
<1>请求:客户端向服务器索要数据,一个请求包含请求行,请求头,请求体三个部分;
"GET /resources/images/ HTTP/1.1"
>1请求行:包含请求方法,资源路径,协议版本.
"Accept: text/html //
客户端所能接收的数据类型
"Accept-Language: zh-cn //
客户端的语言环境
"Accept-Encoding: gzip //
客户端支持的数据压缩格式
"Host:
m.baidu.com //
客户端想访问的服务器主机地址
"User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:37.0) Gecko/20100101 Firefox/37.0 //
客户端的类型,客户端的软件环境
>2请求头:包含对客户端的环境描述
>3请求体:客户端发送给服务器的具体数据,如图片/文件/参数等;
<2>响应:服务器返回客户端想要的数据,一个响应包含”状态行”,”响应头”,”实体内容”三个部分:
"HTTP/1.1 200 OK"
>1状态行包括协议版本,状态码,状态英文名称;
"Content-Encoding: gzip //
服务器支持的数据压缩格式
"Content-Length: 1528 //
返回数据的长度
"Content-Type: application/xhtml+xml;charset=utf-8 //
返回数据的类型
"Date: Mon, 15 Jun 2015 09:06:46 GMT //
响应的时间
"Server: apache //
服务器类型
>2响应头:对服务器端环境的描述;
>3实体内容:服务器返回给客户端的具体内容,如图片/xml/json;
>3发送HTTP请求:
<1>苹果原生:
>1NSURLConnection:用法简单,在主线程执行;
>2NSURLSession:iOS7以后推出的技术,功能比NSURLConnection更加强大;
>3CFNetwork:NSURL的底层,纯C语言,一般不用;
<2>第三方框架
>1ASIHTTPRequest:功能很强大,可是已经停止更新;
>2AFNetworking:简单易用,提供了基本够用的常见功能,维护和使用者较多;
>3MKNetworkKit:简单易用,产自印度,维护和使用者少;
>4URL中所有字符都是ASCII码,不能出现空格以及中文等特殊符号,如果出现中文,需要添加百分号转译,
urlStr = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
<1>HTTP协议规定了客户端和服务器之间的数据传输格式;
<2>HTTP协议是在网络开发中最常用的协议.不管是移动客户端还是PC端,访问网络资源最常使用的协议
<3>优点
>1简单快速;
>2灵活:可以传输任意类型的数据;
>3http协议是短连接:服务器一次连接只处理一个请求,节省资源;
>2HTTP协议的使用:
<1>请求:客户端向服务器索要数据,一个请求包含请求行,请求头,请求体三个部分;
"GET /resources/images/ HTTP/1.1"
>1请求行:包含请求方法,资源路径,协议版本.
"Accept: text/html //
客户端所能接收的数据类型
"Accept-Language: zh-cn //
客户端的语言环境
"Accept-Encoding: gzip //
客户端支持的数据压缩格式
"Host:
m.baidu.com //
客户端想访问的服务器主机地址
"User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:37.0) Gecko/20100101 Firefox/37.0 //
客户端的类型,客户端的软件环境
>2请求头:包含对客户端的环境描述
>3请求体:客户端发送给服务器的具体数据,如图片/文件/参数等;
<2>响应:服务器返回客户端想要的数据,一个响应包含”状态行”,”响应头”,”实体内容”三个部分:
"HTTP/1.1 200 OK"
>1状态行包括协议版本,状态码,状态英文名称;
"Content-Encoding: gzip //
服务器支持的数据压缩格式
"Content-Length: 1528 //
返回数据的长度
"Content-Type: application/xhtml+xml;charset=utf-8 //
返回数据的类型
"Date: Mon, 15 Jun 2015 09:06:46 GMT //
响应的时间
"Server: apache //
服务器类型
>2响应头:对服务器端环境的描述;
>3实体内容:服务器返回给客户端的具体内容,如图片/xml/json;
>3发送HTTP请求:
<1>苹果原生:
>1NSURLConnection:用法简单,在主线程执行;
>2NSURLSession:iOS7以后推出的技术,功能比NSURLConnection更加强大;
>3CFNetwork:NSURL的底层,纯C语言,一般不用;
<2>第三方框架
>1ASIHTTPRequest:功能很强大,可是已经停止更新;
>2AFNetworking:简单易用,提供了基本够用的常见功能,维护和使用者较多;
>3MKNetworkKit:简单易用,产自印度,维护和使用者少;
>4URL中所有字符都是ASCII码,不能出现空格以及中文等特殊符号,如果出现中文,需要添加百分号转译,
urlStr = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
相关文章推荐
- [网络流24题]最小路径覆盖问题
- 什么是HTTP Headers
- 查看服务器的网络连接状态
- 从自我学习到深层网络
- 深度学习-浅谈CNNs
- HTTP服务介绍
- Google网络请求框架Volley源码浅析(三)
- Android开发本地及网络Mp3音乐播放器(十二)创建NetMusicListAdapter、SearchResult显示网络音乐列表
- Android开发本地及网络Mp3音乐播放器(十二)创建NetMusicListAdapter、SearchResult显示网络音乐列表
- 简单高效可靠的自定义通信协议(传输协议)
- HttpClient用于https交互
- Linux(例如CentOS 7)打开TCP 22端口,基于SSH协议
- HttpServletRequest
- MFC 的 HTTP 请求处理
- HTTP客户端识别与cookie机制
- 目前网络上大部分的网站都是由ASP或PHP开发,并且java平台的软件购买成本不适合中小企业客户,一般适用于银行、国家安全等行业领域
- 目前网络上大部分的网站都是由ASP或PHP开发,并且java平台的软件购买成本不适合中小企业客户,一般适用于银行、国家安全等行业领域
- 做一个自己想要的网络请求框架
- python scrapy 网络采集使用代理的方法
- 网络编程学习——数据链路访问