HTTP协议

Posted ruhuanxingyun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP协议相关的知识,希望对你有一定的参考价值。

简介:HTTP(Hyper Text Transfer Protocol)是超文本传输协议,是用于从远程服务器传输超文本到本地浏览器的协议。她是基于请求与响应、无状态的、应用层的协议,基于TCP/IP协议传输数据。

技术图片

 

 1. HTTP协议无状态和管线化

  无状态:协议对事务处理没有记忆能力,当客户端向服务器发送请求,服务器响应完毕后,两者断开连接,也不保存连接状态。

           针对无状态的解决策略:HTTP/1.1持久连接,特点是只要任意一端没有明确提出断开连接,则保持TCP连接状态,请求头中添加Connection: keep-alive即可。在HTTP/1.1版本中,默认都是持久连接

        管线化:能够同时并发多个请求,不需要一个接一个等待响应了,且响应是按顺序返回的。

2. HTTP报文

  A.  请求报文:请求行、请求头、空行和请求体组成

    请求行:请求方法、请求URL、HTTP协议及版本

      请求方法:GET——获取资源、POST——向指定资源提交数据进行处理、PUT——更新资源、DELETE——删除资源;

        GET和POST区别:GET在浏览器回退时是无害的,而POST会再次提交请求;

                                                             GET请求会被浏览器主动缓存,而POST不会,除非手动设置;

                                                             GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留;

                                                             GET请求在URL中传送的参数是有长度限制的,而POST没有限;

                                                             GET参数通过URL传递,POST放在Request body中

      请求URL:协议://主机:端口/路径

    请求头:关键字:值对组成,可以自定义

  B.  响应报文:状态行、响应头、空行和响应体组成

    状态行:协议版本、状态码及状态码描述

      状态码:1xx:指示信息——表示请求已接收,继续处理(websocket)

                                    2xx:成功——表示请求已被成功接收、理解、接受

                                    3xx:重定向——要完成请求必须进行更进一步的操作;

                                    4xx:客户端错误——请求有语法错误或请求无法匹配上;

                                    5xx:服务器端错误——服务器未能实现合法的请求。

以上是关于HTTP协议的主要内容,如果未能解决你的问题,请参考以下文章

HTTP协议工作原理是啥 HTTP协议工作原理介绍【详解】

HTTP 之 HTTP协议(HTTP协议概述HTTP消息缓存控制相关头部Cookie相关头部)

HTTP协议

Linux-http协议(应用层协议)-http概述-http格式-http版本-http方法-http状态码

大话http协议

Http协议简单解析