http协议

http协议

定义:

超文本传输协议,是一个规定了客户端和服务器端通信规格的请求-响应协议

特点:

无连接(传输完后断开连接),无状态(既是优点又是缺点,减少了网络开销),灵活(可用传输各类数据),简单(要访问某个资源时只需访问填写方式,地址),

缺点:

无状态:请求不会记录任何连接信息,没有记忆,就无法区分多个请求发起者身份是不是同一个客户端的,意味着如果后续处理需要前面的信息,则它必须重传,

这样可能导致每次连接传送的数据量增大

明文传输,不安全

队头阻塞

http报文

分为请求报文和响应报文

请求报文:由请求行请求头空行请求体四部分组成

响应报文:由状态行响应头空行响应体四部分组成

  • 请求行:包含http方法,请求地址,http协议以及版本
  • 请求头/响应头:就是一些key:value来告诉服务端我要哪些内容,要注意什么类型等,请求头/响应头每一个字段详解
  • 空行:用来区分首部与实体,因为请求头都是key:value的格式,当解析遇到空行时,服务端就知道下一个不再是请求头部分,就该当作请求体来解析了
  • 请求体:请求的参数
  • 状态行:包含http协议及版本、数字状态码、状态码英文名称
  • 响应体:服务端返回的数据

常见请求头字段

http的请求方法

get系列方法和post系列方法的区别

常见状态码

Http1.1

长连接:

http1.1版本支持长连接,即请求头添加Connection: Keep-Alive,使用Keep-Alive模式(又称持久连接,连接复用)建立一个TCP连接后使客户端到服务端的连接持续有效,
可以发送/接受多个http请求/响应,当出现对服务器的后续请求时,Keep-Alive功能避免了建立或者重新建立连接
优点:
减少了tcp的请求次数即会减少了网络堵塞,减少了后续请求的响应时间,减少CPU及内存的使用,支持管道化的请求及响应模式

管道化

管线化是在同一个TCP连接里发一个请求后不必等其回来就可以继续发请求出去,这可以减少整体的响应时间,但是服务器还是会按照请求的顺序响应请求,

所以如果有许多请求,而前面的请求响应很慢,就产生一个著名的问题队头堵塞

http2.0

http缓存

posted @ 2021-10-18 14:11  浣熊sky  阅读(48)  评论(0编辑  收藏  举报