码迷,mamicode.com
首页 > Web开发 > 详细

HTTP协议

时间:2020-06-26 01:14:14      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:顺序   区别   col   mic   手动   策略   并发   远程服务器   方法   

简介: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协议

标签:顺序   区别   col   mic   手动   策略   并发   远程服务器   方法   

原文地址:https://www.cnblogs.com/ruhuanxingyun/p/13193434.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!