HTTP 协议

1、HTTP 介绍:

HTTP协议 是 (超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。。

HTTP是一个基于 TCP/IP 通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

HTTP协议用于用于客户端和服务器通信,请求访问资源的一端称为客户端,而提供资源响应的一端称为服务端,HTTP协议使用URI定位互联网上的资源,当客户端请求访问资源而发送请求时,URL需要将作为请求报文中的请求URL包含在内

2、HTTP 请求 和 响应:

在这里插入图片描述在这里插入图片描述
HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。
Web服务器根据接收到的请求后,向客户端发送响应信息。

**三点注意事项:

  • HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
  • HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。
  • HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

序列化和反序列化:
网络数据传输,双方需要约定好统一的数据格式。
(广泛使用的统一标准就是协议,小众就是序列化和反序列化)
在这里插入图片描述

3、HTTP 请求方法:

HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD方法。
HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。
在这里插入图片描述

get 和 post 区别 (面试!!):

1、url可见性:

  • get,参数url可见;
  • post,url参数不可见

2、数据传输上:

  • get,通过拼接url进行传递参数;
  • post,通过body体传输参数

3、缓存性:

  • get请求是可以缓存的
  • post请求不可以缓存

4、后退页面的反应

  • get请求页面后退时,不产生影响
  • post请求页面后退时,会重新提交请求

5、传输数据的大小

  • get一般传输数据大小不超过2k-4k(根据浏览器不同,限制不一样,但相差不大)
  • post请求传输数据的大小根据php.ini 配置文件设定,也可以无限大。

6、安全性(相对的)

  • post 要比 get安全,get提交的数据都将显示到url上,页面会被浏览器缓存,其他人查看历史记录会看到提交的数据,而 post 传输参数时url不可见

7、数据包

  • GET产生一个TCP数据包;POST产生两个TCP数据包。对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视。而在网络环境差的情况下,两次包的TCP在验证数据包完整性上,有非常大的优点。并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。

4、HTTP 状态码:

在这里插入图片描述
标注的部分为我们平时经常能碰到的情况:

在这里插入图片描述

5、HTTP 头信息

在这里插入图片描述

6、URL 和 URI

  • URL 是 绝对路径(统一资源定位符):网页地址
  • URI 是 相对路径 (统一资源标识符):唯一地标记互联网上资源

URI 不仅包括 URL,还包括 URN(统一资源名称),它们之间的关系如下
在这里插入图片描述

举个栗子:

https://www.baidu.com/
scheme://host.domain:port/path/filename
  • scheme - 定义因特网服务的类型。(协议(http))
  • host - 定义域主机(http 的默认主机是 www)
  • domain - 定义因特网域名,比如 runoob.com
  • :port - 定义主机上的端口号(http 的默认端口号是 80)
  • path - 定义服务器上的路径(如果省略,则文档必须位于网站的根目录中)
  • filename - 定义文档/资源的名称

常见的 URL Scheme:
在这里插入图片描述

7、静态资源 和 动态资源

  • 静态资源: 每次客户端发起的请求,响应得到的内容是一样的
  • 动态资源:根据客户端发起不同的请求,响应的内容不同

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值