应用层之http协议 --- 为菜鸟写的

    蒂姆伯纳斯-李,当年为了解决在www上传输信息的难题,进行了很久的思考,在某个黄昏,上帝触摸了他。于是他想出来了。由于这是一个复杂的问题,所以需要分而治之

    

左边是浏览器,右边是服务器。客户端要拿到服务器中的信息。这里就涉及到几个最基本的问题:

客户端必须给出它想要的信息在服务器的什么地方 --- URL (统一资源定位符)

客户端和服务器之间怎样沟通,让彼此相互理解 --- http (超文本传输协议)

客户端得到它想要的信息后,该如何组织和呈现信息 --- html (超文本标记语言)

解决了这三个问题也就解决了蒂姆伯纳斯-李的难题。


客户端必须给出它想要的信息在服务器的什么地方 --- URL (统一资源定位符)

URL 的一般形式是<协议>://<主机>:<端口>/<路径>

    为什么需要表明协议?因为在应用层,不仅仅有http协议,还可以使用ftp,smtp协议。所以必须注明,以示区分。不同的协议有不同的解析方式。

    为什么需要主机ip地址?这是显而易见的,网络中存在无数的主机,你要访问的哪一台?怎么区分?唯有IP地址。

    为什么需要端口号?还是为了区分的缘故。因为一台主机上运行着很多的进程,为了区分进程,端口就诞生了。一个进程对应一个端口。http默认的端口是8080。

    为什么需要路径?还是为了区分资源。一台主机上的资源千千万,你不指定资源所在的路径,计算机怎么知道你想要什么资源。你可能会问?我怎么会知道你的资源放在服务器的什么地方,难不成我要看一张图片,还要记住这种图片完整的URL地址吗?这不是搞笑吗。其实开发人员已经将页面写好了,你只需要点击某个提示按钮就可以了,这个按钮已经通过某种机制和服务器端的资源相对应上了。

    客户端和服务器之间怎样沟通,让彼此相互理解 --- http (超文本传输协议)

    通过一个例子来理解,当你在地址栏输入http://baidu.com后发生了什么?如果你说的出来,那么说明,你大致了解了什么是http协议。

step1:所有人都知道,计算机只能够处理1和0,因为在计算机的世界里只有0和1,而你竟然希望通过输入http://baidu.com而让计算机理解你想要访问百度官网,如果没有辅助的因素,那你的请求是不会被计算机所理解的。可是计算机确实理解了你的意思。那说明什么?说明了有鬼。不错,这个鬼就是DNS,它俗姓域名系统。它的作用就是将你输入的网址转化成0和1的串。比如你输入www.baidu.com,实际呢?实际是119.75.217.109。

也许你会说,你刚才不是说计算机不是只认识0和1吗?这里怎么有非0和1以外的数。这是因为你看到的是十进制,而不是二进制。真实的ip是 01110111 01001011 11011001 01101101。拿到这个IP地址后再去发生发送请求。我实在是写不下去了,推荐一本书吧《图解HTTP》,比我说的详细多了,哎...


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值