HTTP

  • HTTPS:HTTP+SSL(证书)
    端口:443
    通讯方式:客户端发送HTTP给服务器,服务器返回SSL给客户端,以后客户端每次发送HTTP请求给服务器都需要使用SSL证书进行加密,服务器在进行解密获取HTTP请求。
    SSL申请网站:http://cn.globalsign.com
    费用:个人(¥1980)企业(¥3980)
  • HTTP端口:80

  • URL:Uniform Resource Locator(统一资源定位)

  • 互联网上每1个资源,都有1个唯一的URL

  • URL格式:协议://主机地址/路径

  • http://CoderJackieYip.com/img/logo.png
  • 协议:代表资源的查找方式、传输方式
  • 主机地址:存放资源的主机(服务器)的IP地址(域名)
  • 路径:次资源在主机(服务器)中的具体位置
  • URL中常见协议:
  • HTTP:格式 http:// (网络开发中最常用的协议,目前最新版本1.1可以长连接,以前的0.9、1.0版本仅是短连接的)
  • file:格式 file:// (不用主机地址)
  • mailto:格式 mailto:// (访问的是电子邮件地址)
  • FTP:格式 ftp:// (访问的是共享主机的文件资源)
  • HTTP通信2大步骤
  • 请求
  • 请求方法8种,其中2种常用
  • GET:查(常用)
  • POST:改(常用)
  • OPTIONS
  • HEAD
  • PUT:增
  • DELETE:删
  • TRACE
  • CONNECT
  • PATCH
  • GET 和 POST对比
  • GET参数:添加在URL后面
  • GET参数大小:限制1KB
  • POST参数:存放在请求体中
  • POST参数数据大小:没限制(具体看服务器处理能力)
  • GET 和 POST 的选择
  • 传输大数据、安全性数据、增、删、改数据,用POST
  • 查数据用GET
  • 响应
  • iOS中HTTP请求的方案
  • 苹果原生
  • NSURLConnection:NSURLSession功能比它强大,苹果建议使用NSURLSession
  • NSURLSession:2013年iOS7时推出
  • CFNetwork:NSURL*底层,纯C语言
  • 第三方框架
  • ASIHttpRequest:外号“HTTP终结者”
  • AFNetworking
  • MKNetworkKit:印度人开发,维护和使用较少
  • HTTP通信过程
  • 请求
  • 请求头:包含对客户端环境描述、请求信息等
// 请求方法、资源路径、HTTP版本
GET /minion.ng HTTP/1.1
// 服务器主机地址:端口号
Host:120.25.226.186/:32812
// 客户端类型,客户端软件环境
User-Agent:Mozilla/5.0
// 客户端所能接收的数据类型
Accept:text/html,*/*
// 客户端的语言环境
Accept-Language:zh-cn
// 客户端支持的数据压缩格式
Accept-Encoding:gzip
  • 请求体:客户端发给服务器的具体数据(仅POST请求才有)
  • 响应
  • 响应头:包含对服务器的描述,对返回数据的描述
// HTTP版本、状态码、转改英文名称
HTTP/1.1 200 OK
// 服务器类型
Server:Apache-Coyote/1.1
// 返回数据类型
Content-Type:image/jpeg
// 返回数据长度
Content-Length:56811
// 响应时间
Date:Mon, 23 Jun 2014 12:54:52 GMT
  • 响应体:服务器返回给客户端的具体数据
  • 响应状态码
  • 200:OK 请求成功
  • 400:Bad Request 客户端请求的语法错误,服务器无法解析
  • 404:Not Found 服务器无法根据客户端的请求找到资源
  • 500:Internal Server Error 服务器内部错误,无法完成请求

你可能感兴趣的:(HTTP)