HTTP基础知识

对于HTTP协议,想必大家都很熟悉了。HTTP——超文本传输协议,是应用最多的应用层协议。

1. http的特点
  1. HTTP是基于C/S模式的,即客户端—服务器模式。
  2. 简单快速:基于请求—响应的,请求需要传送请求方法和路径。
  3. 灵活:HTTP允许传输任意类型的数据对象。
  4. 无连接:这里的无连接是指应用层,http是基于TCP协议的,TCP协议依然是面向连接的。无连接的意义在于限制每一次连接只处理一个请求。
  5. 无状态:无状态说的是协议对于事务处理没有记忆能力。即这次的请求和下次的请求彼此独立,毫无关系的。
2. HTTP的主要方法

(1) 主要方法

方法功能
get请求指定的页面信息,并返回实体。
post向指定资源提交数据进行处理请求(例如提交表单等)
head获取报头
put客户端向服务器传送的数据替代指定文档
delete请求服务器删除页面
connect预留可以将连接改为管道的代理服务器
opti允许客户端查看服务器性能
trace回显服务器收到的请求,主要用于测试或诊断

注: 1. HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。
2. HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT

(2)get和post方法的区别

  1. get方法的资源路径中不一定有参数,但是post方法一定有参数。
  2. get方法不一定要按照CGI方式运行,但是post方法一定要按照CGI模式运行。
  3. get方法如果有参数的话,会附加到URL之后,以?分割,多个参数用&连接。post方法的参数在请求报头的正文中。
  4. post方法的安全性比get方法高。因为get方法请求的数据会暴露在地址栏中,如果我们是 登录某个重要平台,此时用户名和密码都会暴露在URL中,如果有恶意用户查看浏览器历史记录,此时用户名和密码就泄漏了。
  5. get方法在传输数据时会受到长度的限制,理论上post方法不会有长度限制,但是实际中,也会进行限制。
3. 请求和响应格式

请求报文一般包括四部分,请求行,请求报头,空行,请求正文。
这里写图片描述
响应报文一般包括四部分,响应行,响应报文,空行,响应正文。
这里写图片描述
:空行不能少。

4. 数据的传输过程

[网络中数据的传输过程]网络中数据的传输过程

5. 关于长短连接

长连接

HTTP/1.1 版本默认方式为长连接,在请求报头中加入connection:keep-alive字段即可。

短连接

HTTP/1.0 版本默认为短连接。

长连接特点

  1. 客户端发送一次请求,服务器会一直使用这个连接,服务器端将请求的数据全部传输完毕后,再断开连接。
  2. 长连接可以省去较多的TCP建立和关闭的操作,减少浪费,节约时间,对于频繁的请求数据,适用长连接。
  3. 长连接需要进行TCP的保活探测。
  4. server需要定时对长连接的客户端进行保活探测。
  5. 数据库的连接使用长连接,因为数据库是经常要进行写入写出的操作的。

短连接特点

  1. 客户端请求连接,服务器传输数据,断开连接,即一次请求,一次响应。
  2. 短连接一般都是有用的连接,不需要额外的控制手段。
  3. 在频繁请求资源时,效率低,时间耗费长,浪费时间和带宽。
  4. WEB网站的HTTP服务一般来说都会使用短连接,长连接会耗费一定的资源,造成高并发的问题。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值