前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HTTP--总结

HTTP--总结

作者头像
孙寅
发布2020-06-02 22:45:31
6050
发布2020-06-02 22:45:31
举报
文章被收录于专栏:宜达数字宜达数字

一、认识HTTP前需要认识: 1、什么是URL URL全程是Uniform Resource Locator (统一资源路径)。 通过一个URL可以找到互联网唯一的1个资源。 格式:协议://主机地址/路径 http://www.jianshu.com/writer#/notebooks/1365988/notes

代码语言:javascript
复制
   2、这里说到协议,那么什么是协议?
      (1) 协议:不同的协议,代表着不同的资源查找方式,资源传输方式
      (2) 主机地址:存放资源主机(服务器)的IP地址(域名)
      (3) 路径: 资源在主机(服务器)中的具体位置
 
        2.1、 列举一些常见的协议:
        HTTP(超文本传输协议,访问的是远程网络资源,格式http://)
        file (访问的是本地计算机的资源,格式file://不需要加主机地址)
        mailto (访问的是电子邮件地址,格式是mailto:)
        FTP  (访问的是共享主机的文件资源,格式是ftp://)

二、我们这里主要介绍------HTTP协议 1、HTTP介绍: 全称:Hypertext Transfer Protocol---超文本传输协议 特性:Http构建与TCP/IP协议之上,默认端口是80,Http是无连接无状态的。 通信过程: 请求+响应 (索要数据,返回相应的数据才是完整的通信过程) 交互方式:1、GET (查) 2、POST(改) 3、PUT(增) 4、DELETE (删) ps:1.1协议中定义了8种发送HTTP请求方法,常用就上述四种,get与Post 都可以做到增删改查

代码语言:javascript
复制
   优点:1、由于HTTP服务器程序规模小,通信速度快,允许各种各样的数据。
             2、HTTP0.9和1.0使用非持续行连接:每次连接只处理一个请求,服务器
                  对客户端的请求作出相应后,立即断开连接,节省了传输时间。

       1.1、GET请求: 
        在请求URL后面以?号形式跟上发送服务器的参数,多个参数之间用&隔开
        http://www.suny.com/login?username=123&pwd=456&type=JSON
        一般参数不可以超过1KB,原因是因为浏览器和服务器对URL长度有限制

        1.2、POST请求:
        发送服务器的参数全部放在请求体中,理论数据量无限制

        1.3、两者优缺点:
        大量数据:(文件上传,post请求)
           安全性: 包含机密信息建议用post
        使用目的: 如果只是索取数据,使用get, 增加、修改、删除数据,使用post

     2、由于笔者从事iOS开发,所以介绍iOS开发http请求
     苹果自带:
      NSURLConnection: 古老,用法简单,但是不好用(几乎不用)
      NSURLSession:比上面强,iOS7开始出的,记得是13年
      CFNetwork:NSURL*的底层,纯C语言

     第三方框架:
       ASIHttpRequest:"HTTP终结者",但是已挂,不更新,如今错误也多
       AFNetWorking:小编使用,简单易用。(一般根据需求进行封装)
       MKNetworkKit:这个其实我没用过,印度黑出,不推荐。

    从开发效率上,推荐第三方,个别强人自己搞

    3、HTTP 请求 --完整的Http请求包含以下内容
         (1)请求头:对客户端描述、客户端请求信息等
      GET:/sun.mp4 HTTP/1.1   // 包含请求方法,请求资源路径、Http协议版本
      Accept: text/html,             // 客户端所能接收的数据类型
      Accept-Language:zh-cm   // 客户端的语言环境
      Host:192.168.101.10      // 客户端想访问主机地址
      Accept-Encoding :gzip    // 客户端支持的解压数据
      User-Agent:Mozilla/6.0   // 客户端类型,软件环境
         (2)请求体:----POST请求才会有
        客户端发个服务器的具体数据,比如文件数据

    4、HTTP 响应---HTTP响应也由3个部分构成,分别是:
         (1)状态行
         (2)响应头(Response Header)
         (3)响应正文
          
           200 OK                                       客户端请求成功
           302 Moved Temporarily              请求重定向
           304 Not Modified                 文件未修改,可以直接使用缓存的文件。
           400 Bad Request      由于客户端请求有语法错误,不能被服务器所理解。
           401 Unauthonzed    
           请求未经授权。这个状态代码必须和WWW-Authenticate报头域一起使用
           403 Forbidden 服务器收到请求,但是拒绝提供服务。服务器通常会在响
                                    应正文中给出不提供服务的原因
           404 Not Found          请求的资源不存在,例如,输入了错误的URL
           500 Internal Server Error
             服务器发生不可预期的错误,导致无法完成客户端的请求。
           503 Service Unavailable

服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常。 HTTP响应的例子: HTTP/1.1 200 OK // 包含HTTP协议版本、状态码、状态英文名称 Server:Apache Tomcat/10.10.0 // 服务器类型 Content-Type : sun.mp4 // 返回数据类型 Date:Mon,6Oct2015 15:25:02 GMT // 相应时间 Content-Length:108 // 返回数据的长度 <html>...

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档