美文网首页iOS 开发
HTTP协议的基础知识

HTTP协议的基础知识

作者: 李俊的博客 | 来源:发表于2016-06-21 10:05 被阅读178次

    HTTP(Hypertext Transfer Protocol,超文本传输协议),TCP/IP协议的一个应用层协议,用于定义Web浏览器与Web服务器之间交换数据的过程。客户端连上Web服务器后,若想获得Web服务器中的某个Web资源,需遵守一定的通讯格式,而HTTP协议就是用于定义客户端与Web服务器通迅的格式。

    HTTP 1.0与HTTP 1.1的区别

    1、在HTTP 1.0中,客户端的每次请求都要求建立一次单独的连接,在处理完本次请求后,就自动释放连接。
      2、在HTTP 1.1中则可以在一次连接中处理多个请求,并且多个请求可以重叠进行,不需要等待一个请求结束后再发送下一个请求。

    HTTP请求包
    HTTP请求包结构
    POST /meme.php/home/user/login HTTP/1.1
    Host: 114.215.86.90
    Cache-Control: no-cache
    Postman-Token: bd243d6b-da03-902f-0a2c-8e9377f6f6ed
    Content-Type: application/x-www-form-urlencoded
    
    tel=13637829200&password=123456
    

    HTTP/1.1定义的请求方法有8种:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE,最常的两种GET和POST。如果是RESTful接口的话一般会用到GET、POST、DELETE、PUT。

    HTTP响应包
    HTTP响应包结构
    HTTP/1.1 200 OK
    Date: Sat, 02 Jan 2016 13:20:55 GMT
    Server: Apache/2.4.6 (CentOS) PHP/5.6.14
    X-Powered-By: PHP/5.6.14
    Content-Length: 78
    Keep-Alive: timeout=5, max=100
    Connection: Keep-Alive
    Content-Type: application/json; charset=utf-8
    
    {"status":202,"info":"\u6b64\u7528\u6237\u4e0d\u5b58\u5728\uff01","data":null}
    
    HTTP协议的特点

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

    参考

    你应该知道的HTTP基础知识
    Android网络请求心路历程

    相关文章

      网友评论

        本文标题:HTTP协议的基础知识

        本文链接:https://www.haomeiwen.com/subject/yvcgdttx.html