HTTP协议学习总结

什么是协议

  • 现实生活中的协议,相互遵守,单方面违背,协议不成立; (停战协议,全球贸易协议)

  • 互联网中的协议,ftp、http、stmp、TCP/IP…

什么是HTTP

HTTP-Hypertext transfer protocol:超文本传输协议,详细的规定了万维网服务 器与客户端之间数据传送的通信规则

当你在浏览器输入一个网址并敲下回车键的一刻,发生了什么?

image

HTTP属于无状态连接,有状态连接(持续连接) 比如有qq,微信等等,使用的是不同的协议

一次完整的HTTP请求, 通常有下面七个步骤

  1. 建立TCP连接
  2. web浏览器向web服务器发送请求命令
  3. web浏览器发送请求头信息
  4. web服务器应答
  5. web服务器发送应答头信息
  6. web服务器向浏览器发送数据

HTTP请求一般由四个部分组成:

  1. HTTP请求的方法或动作,比如GET或者POST请求
  2. 正在请求的URL
  3. 请求头,包含一些客户端环境信息,身份验证信息等
  4. 请求体,也就是请求正文,请求正文中可以包含客户提交的查询字符串信息,表单信息等等

格式如下图

image

HTTP的请求方法

  • GET:获取一个URL指定的资源,即资源实体
  • HEAD:获取一个指定资源的信息
  • POST:向服务器提交数据
  • PUT:向服务器提交资源
  • DELETE:请求源服务器删除Request-U RI 标识的资源
  • TRACE:网络跟踪
  • CONNECT:与PROX Y之间的连接管理
  • OPTIONS:查询服务器支持的方法

注:这些方法虽然在HTTP协议里的,但是,服务器并不会对这些方法全部实现

我们常用的请求方法有两种, GET与POST
  • GET: 一般用于信息获取, 使用URL传递参数,对所发送信息的数量也有限制, 一般在2000个字符

  • POST:一般用于修改服务器上的资源,对所发送信息的数量无限制

GET与POST的区别

区别不大,只不过是语义上有区别,所谓的一些什么安全的区别只不过是针对浏览器而言

HTTP中的状态码

由3位数字组成, 其中首位数字定义了状态码的类型, 作用就是提高我们web调试的效率

如图所示

image

推荐书:《HTTP权威指南》

(完)

分享到