HTTP协议

HTTP协议基础

HTTP全称 HyperText Transfer Protocol 【超文本传输协议】,即 【超文本】 【传输】 【协议】。

【超文本】:即【超越了普通文字的文本】;即音视频,图片,文件的混合体,超文本内含有超链接;

【传输】:传输意味着至少有两个参与者;发起请求的叫请求方,接到请求后返回数据的那一方称为应答方;传输允许中间有中转或者接力。只要参与者遵循约定的传输协议即可。

【协议】:【协】表示至少有两人参与;【议】意味着双方要达成某一项条款;协议即对通信双方的约束,双方按照约定传输数据才能明白对方的意思。

总结:HTTP是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范。

与HTTP相关的各种协议

1、URI和URL

URI :即统一资源标识符,可以唯一定位互联网上的资源。

URL :即统一资源定位符,

URL是URI的一种子集,区别就是URI定义资源,而URL不单定义这个资源,还定义了如何找到这个资源。

URL主要由四个部分组成:协议、主机、端口、路径

249502d2c6e63e5d995f2979d8e8ecdc.png

【协议】:即通信双方指定的传输协议;

【主机名】:存放资源的服务器主机名或IP地址,当前有时候服务器由于安全原因需要对用户进行认证,需要提供用户名和密码;此时还需要在【hostname】前加【username】:【password】。

【端口】:整数,可选。各种传输协议都有默认的端口,如HTTP默认的端口是80;HTTPS用的端口是443端口;【传输层协议】正是利用这些端口号识别本机正在进行通信的应用程序,并准确地将数据传输。

【路径】:及资源在手机上的存放路径,一般表示主机的目录或文件地址。

【parameter】:用于指定特殊参数的可选项。

【query】:查询字符串,可选,用于给动态网页或接口传递参数,可有多个参数,用''&"符号隔开,每个参数的名和值用“=”符号隔开。

【fragment】:浏览器专用。用于指定网络资源中的片段,指定后打开网页可直接定位到fragment对应的位置。

02bdfa845675837eea58449bdd53abdf.png

2.TCP/IP协议

为什么主机名最终要被解析成IP地址才能通信呢?

因为HTTP协议使用的是TCP/IP协议栈,协议栈就是这样规定的.

e035593b73cbadf6fb83b33a4ec54748.png

CP/IP协议栈总共有四层

1、link layer : 链接层,负责以太网,WIFI这样的底层网络上发送的原始数据包,工作在网卡这一层,使用MAC地址来标记网络上的设备,所以也叫MAC层。

2、Internet layer :网络层,IP 协议即处于这一层,提供路由和寻址的功能,使两终端系统能够互连且决定最佳路径,並具有一定的拥塞控制和流量控制的能力。相当于传送邮件时需要地址一般重要

3.transport layer :传输层,该层的协议为应用进程提供端到端的通信服务,这层主要有 TCP,UDP 两个协议,TCP 提供面向连接的数据流支持、可靠性、流量控制、多路复用等服务,UDP不提供复杂的控制机制,利用 IP 提供面向无连接的简单消息传输

4.application layer :应用层,前面三层已经为网络通信打下了坚实的基础,这层可发挥的空间就大很多了,应用层协议可以想象为不同的服务,每个应用层协议都是为了解决某一类应用问题而生的,每一个服务需要用不同的协议,规定应用进程在通信时所遵循的协议。

小结:前面三层可以认为是高速公路及其配套的基础设施,至于要传什么货物,高速公路是否要关闭等则由应用层决定

利用TCP/IP协议进行网络通信时,会通过分层顺序与对方进行通信.每个分层中,都会对所发送的数据附加一个首部,在这个首部中

包含了该层的必要信息,如发送的目标地址以及协议相关信息

0a9f6042c18ba003621a69a26f9d9bff.png

接收方收到数据后,同样的,每一层也会解析其首部字段,直到应用层收到相应的数据.

19d8ef340c41ad34fa07647597eb1dcf.png

通过这样分层的方式,每个层各司其职,只要管好自己的工作即可,可扩展性很好,比如对于 HTTP 来说,它底层可以用 TCP,也可以用 UDP 来传输,哪天如果再出现了更牛逼的协议,也可以替换之,不影响上下层,这就是计算机中比较有名的分层理论:没有什么是分层解决不了的,如果有那就再分一层。

IP 包的首部中定义了32 位的源 IP 地址和目的 IP 地址,如下图所示址

c0b161d3382f5d6847994dac1969aea5.png

所以应用层在请求传输数据时必须事先要知道对方的 IP 地址,然后才能开始传输。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值