关于计算机网络的学习(三)-HTTP应用层协议(一)

前言:计算机网络原理是一个有趣的贴近现实生活的课程。它是一个庞大的,笼统的。我只是想了解一下,还是耗费了不少心神。哎,慢慢来吧。

这篇博文主要讲的是我们用的最多的万维网(Web)的1.应用层协议(HTTP协议)2.一点web应用程序基础设施 3.一些比较零散的基础知识。

--------------------------------------------------------------------------------------------------------------------------------------------------------------

进入正题:

一.万维网的两点概念(c/s)


1.什么是万维网(World Wide Web 简称Web)

           a.万维网是一个大规模的,联机式的信息储存所。

         b.万维网是一个分布式的超媒体系统,它是超文本系统的扩充。(超文本:包含指向其他文档的连接的文本,超媒体:除开文                                                                                                                                 本还有图片,声音,动画等)

   (自我独白:Web是一种网络应用,也是提供各式各样交流的一个平台。我们在平时在网上冲浪的时候,所用到的各种浏览器是用户主机上的万维     网客户程序。万维网就像一个图书馆,而我们平时看的新闻网站,淘宝网站等则是里面的图书。在这里先提一下:图书(资源)是在图书馆的(服务器),图书的本身是由人来写的(就像网站是根据不同的商家自我建立的),每一本图书都有自己的分区和位置(域名DNS)等等显然,人和图书馆是两个不同的端系统)。

 

2.web应用由那些组成

 a.文档格式的标准(HTML)   b.web浏览器     c.web服务器     d.一个应用层协议(HTTP)

-------------------------------------------------

二.HTTP协议(TCP连接 无状态)


HTTP协议包含的内容:1.http协议的概念以及它存在的意义     2.HTTP的报文格式      3.HTTP的操作过程


1.  HTTP的一些概念

   a.  HTTP协议(Hypertexttransfer protocol 超文本传输协议)是什么?

              是万维网客户程序与万维网服务器程序之间进行交互所使用的协议。它定义了交互的报文结构和报文交换的方式(这好比你从图书馆借书,你         和图书馆用什么方式和内容(学生证)让你要借书的请求成功,HTTP协议相当于这里的学生证)

            HTTP包含命令和传输信息,不仅可用于Web访问,也可以用于其他因特网/内联网应用系统之间的通信,从而实现各类应用资源超媒体访问的集成。

 

   b.  HTTP协议存在的意义?(或者它的功能是什么?)

          在上面的HTTP协议是什么的时候,就间接的回答了这个问题。在浩瀚的web中,统一化管理后(就像我们脱离以物换物,用钱来交易一样),更加的快捷。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。

 

    c.  我们常见的http存在的地方.

            这里引入一个名词—URL(统一资源定位符):它是用来表示从因特网上得到的资源位置和访问这些资源的方法。URL的存在解决了万维网是如何标志分布在整个因特网上的万维网文档(URL是给予文档自己的身份证号,而IP是给予主机的身份证号)。

       形式如下:

          <协议>://<主机>:<端口>/<路径>

          HTTP协议的URL的一般形式:

          http://<主机>:<端口>/<路径>

          实际案例:

          http://www.elecfans.com/baike/20100322201699.html

         其中:www.elecfans.com (这是主机的域名。在庞大的网络中,IP地址 是区别不同主机的身份证号。而域名这是主机的名字 (逻辑编                                       号)。但是名字是有重复的,你的身份证号却是不一样的,所以域名只是为了方便使用,而IP地址则是区别的关键)

         端口:这里忽略了(端口号为:80,及默认端口)。

         路径:baike/20100322201699.html(.html说明这是一个用HTML语言写的文件)

         这个就是大家熟知的链接,我只是简单的提了一下。

   d.  HTTP协议的一些特点(了解一下)

            它采用TCP为它作为支撑运输协议(TCP和UDP均属于运输层的协议),它是无状态的协议(不保存关于客户的任何信息),采用客户-服务器     应用程序体系结构(c/s),HTTP的默认模式是使用带流水线的持续连接。(关于这些HTTP协议为什么呈现这些特点,请自行百度,我就不一一说了)

 

2.  HTTP的报文格式

          由于篇幅有限,以及对于报文我还没有深入的了解,只是书上介绍的一些,下面是我看过的关于HTTP报文格式的相关的博客(如果不喜欢自己             百度也可以)

         HTTP的请求报文:点击此处

         HTTP的请求和响应报文:点击此处

 

3.  HTTP的操作过程

         当用户在浏览器上点击淘宝这个图标后(其实背后就是一个链接)等待的几秒的时间里发生的事情:

       (淘宝的URL为:http://uland.taobao.com/sem/tbsearch?......)

         a.  浏览器分析链接指向页面的URL。

         b.  浏览器向DNS请求分析uland.taobao.com的IP地址。

         c.  域名系统解析出淘宝服务器的IP地址为199.121.6.1(举个例子)

         d.  HTTP客户进程在端口号80发起一个到服务器(uland.taobao.com)的TCP连接。

         e.  HTTP服务器确认收到客户发来的请求TCP链接,然后发给客户一个关于TCP可以连接的一个响应。

          f.  HTTP客户收到后,确认TCP已经连接上了,然后经它的套接字向服务器发生一个HTTP请求的报文。请求报文包含了路径名                                         (sem/tbsearch……)

         g.  HTTP服务器进程经它的套接字接受该请求报文,从其存储盘中检索出对象uland.taobao.com/sem/tbsearch,在一个HTTP响应报文中封装对               象,并通过其套接字向客户发送响应报文。(这里出现了新的词语,套接字,在后面的学习的日子我会说一下的)。

         h.  HTTP客户接收到响应报文,客户会给服务器发一个TCP的报文。客户从响应报文中提取该文件----得到我们看到的淘宝主页面。

         i.  当TCP确认客户已经完整的收到响应报文后,HTTP服务器进程通知TCP断开该TCP的链接。

        (这些是把关于运输层及其以下的层和网络其他的基础设备看成一个盒子的基础上讨论的HTTP操作的过程。讲述一个完整的HTTP操作的过程则间接的把计算机网络了解了,我就准备这样学习。这里是不是很像我们人类之间的交流, 这里是对话的形式,如果有个没有回复的就会造成朋友间的矛盾(数据错误等))

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

未完待续

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值