Java网络编程——HTTP协议原理

协议

我们在网上冲浪时,会在浏览器地址栏输入一个网址,然后就能打开网页了。比如,输入

https://www.douban.com/

就可以访问到豆瓣的主页:

豆瓣网站

那么大家是否好奇:https 是什么意思,作用又是什么呢?

什么是协议

协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。

HTTP/HTTPS 协议

目前网站主要有两种协议,HTTP 和 HTTPS,具体的原理我们可以不用深究,我们只需要知道他们的区别:

img

如果大家对两种协议感兴趣,可以查看这个文档

URL

上面讲到了豆瓣首页地址:[https://www.douban.com/](javascript:void(0)) 的开头表示使用了 HTTPS 协议。那么为什么把协议放在地址的开头呢?

我们来看一个豆瓣的内容页面:

豆瓣网站

这个页面的地址就比较复杂了。地址栏输入的地址,叫作 URL,也就是我们常说的网址,这个页面的 URL 就是:

https://www.douban.com/gallery/topic/116390/?from=hot_topic_note&sort=new

URL 是缩写,其英文全称是:Uniform Resource Locator(统一资源定位符)。URL 的格式规范规定了由哪几部分组成,以及各种符号的作用:

URL格式

格式说明:

  • 协议类型与域名之间以 ://(固定写法)分隔。

  • 路径(英文常称为 path )以单斜杠 / 开头,中间每层的分隔符也是单斜杠 /

    路径相当于一层一层的文件夹。但要注意与windows 的文件夹分隔符 \ 不要混淆了。

  • 参数:

    • 路径与参数之间用 ? 分隔。看到问号 ? 就知道后面的内容就是参数了。
    • 多个参数之间用 & 分隔。
    • 参数用“参数名=参数值”(key=value)的格式表示。

这些规则看起来有点多,但不需要刻意背,上网的时候多注意观察浏览器地址栏中的 URL 就能理解。

URL 的格式,就像逛校园:

先根据街道门牌号(域名)找到校园,跟门卫出示了学生证(协议),顺着 路/大楼/层/教室号(路径)走到了教室,告诉老师你的姓名(参数),老师就可以给你传授知识啦(打开网页)。

扩展知识点

端口号

可能会看到这样的URL:

[https://www.douban.com:443/gallery/topic/116390/?from=hot_topic_note&sort=new](javascript:void(0))

域名后的 :443 表示网站的端口号。HTTP 协议默认的端口号是 80HTTPS 协议默认的端口号是 443 。默认的端口号在 URL 中是可以省略的,其它的端口号就必须要写明了。

上网浏览时,大多数情况下看不到端口号,但是大家在开发过程中可能经常会用到不同的端口号,以 80008080 最常见,这些端口号必须写明。

路径的两种情况

1.相对路径

大家在开发过程中,可能会看到这样格式的 URL

[gallery/topic/116390/?from=hot_topic_note&sort=new](javascript:void(0))

就要非常小心了。不是以斜杠 / 开头的路径,表示相对路径,但是具体相对于什么就很复杂了,要看具体情况,所以使用这种相对路径非常容易出错。

建议大家书写 URL 时一定要写以斜杠 / 开头的绝对路径;收到别人给的不是以斜杠 / 开头的路径时,也要确认清楚。

2.默认路径

我们在上网时,仅输入了 [https://www.douban.com](javascript:void(0)) 或 [https://www.douban.com/](javascript:void(0)) 都能打开豆瓣首页,并没有输入路径啊。

实际上,没有输入路径时,表示请求网站的默认页面,那么服务器就会返回一个默认页面给浏览器。至于具体默认页面是什么页面,是由服务器决定的,通常服务器默认的页面是首页。

  • 14
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值