HTTP基础入门

一、什么是HTTP协议
        HTTP 协议即超文本传输协议,它是基于TCP/IP 协议通信的,因此它也是基于<客户端-服务器>模型运作的,是一个应用层协议,可以用它来传输服务器的各种资源,如文本、图片、音频等。
        HTTP 协议的特点:
        1.简单:当客户端向服务器请求服务时,只需传送请求方法和路径即可获取服务器的资源, 请求方法常用的有 GET、 HEAD、 POST
等, 每种方法规定了客户端与服务器通信的类型不同。
        2.快捷:由于 HTTP 协议简单,使得 HTTP 服务器的程序规模小,因而通信速度很快。
        3.灵活:HTTP 允许传输任意类型的数据对象,传输的类型由 Content-Type
加以标记。
        4.无连接:无连接的含义是限制每次连接只处理一个请求, 服务器处理完客户的请求,并收到客户的应答后,即断开连接,简单来说就是每进行一次 HTTP 通信,都要断开一次 TCP 连接, 可随着 HTTP 的普及,文档中包含大量图片的情况多了起来,每次请求完都要断开 TCP 连接,无疑增加通信量的开销, 为了解决 TCP的连接问题, HTTP1.1 提出了持久连接的方法,即任意一端只要没有明确提出断开连接,则保持 TCP 连接状态,这样子就就减少了 TCP 连接的重复建立和断开所造成的额外开销,减轻了服务端的负载。注意,在 HTTP1.1 版本之后才出现持久连接的方法。
        5. 无状态: HTTP 协议是无状态协议,无状态是指协议对于事务处理没有记忆能力,即HTTP协议无法根据之前的状态进行本次的请求处理,这就意味着如果后续处理需要前面的信息,它必须重传数据,这样的情况可能导致 HTTP 协议传输的数据量增大,当然,凡事都有两面性,在另一方面,在服务器不需要先前信息时它的应答就较快,可以减少服务器的资源消耗,其实这种无状态对于用户来说也是不友好的,因此为了解决无状态的问题,引入了
Cookie技术,这是一种可以让服务器知道用户上一次做了什么操作,并且记录下来,它是存储在客户端之中的,比如我们在淘宝上买东西,我们选择了几个商品,但是到了结账会跳转到另一个页面,此时如果服务器不知道我们选择了哪些商品,那怎么能结账成功呢? 所以Cookie 就是用来绕开 HTTP 的无状态性的“手段”之一, 服务器可以设置或读取Cookies 中包含信息,让服务器知道我们选择了什么商品,借此维护用户跟服务器会话中的状态,当然, Cookie 会被加密存储在客户端中,直到过期或者手动清除。

二、URL 与资源
        URL 全称是 Uniform Resource Locator, 中文叫统一资源定位符, 是互联网上用来标识某一处资源的绝对地址,使用它我们就必然能找到资源,除非资源已经被转移了。 URI 是一个通用的概念,由两个子集组成,分别是 URL 和 URN, URL 是通过资源的位置来标识资源,而 URN 更高级一点,只需通过资源名字即可识别资源,与他们所处的位置是无关的,目前暂时还未推广 URN。大部分 URL 都会遵循 URL 的语法, 一个 URL 的组成有多个不同的组件,一个 URL的通用格式如:<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>

<

组件

描述

方案 scheme

指定访问服务器获取资源时使用哪种协议,有 HTTP、HTTPS、FTP、SMTP 等协议。

用户 user

某些方案访问资源时候需要指定用户名,才有权限获取资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

aaa1163548340

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值