网站开发-php开发手机论坛(2)-http协议以及网络原理
2014-08-01 12:46
681 查看
对于初学者来说,最大的难题就是网络到底是怎么运作的.所以了解http协议以及网络原理是很重要的,这将为后面的学习打下坚实的基础.
声明:以下内容有引用别人的博文,我会附录在最后.另外,由于水平有限,可能某些地方理解不够深入,有错误欢迎指出.我会尽量以通俗的语言说明,有些术语不严谨请见谅.
当我们打开浏览器,在地址栏中输入URL,然后我们就看到了网页。 原理是怎样的呢?
实际上我们输入URL后,我们的浏览器给Web服务器发送了一个Request, Web服务器接到Request后进行处理,生成相应的Response,然后发送给浏览器, 浏览器解析Response中的HTML,这样我们就看到了网页,过程如下图所示
也就是说,我们平时访问网站,就是通过浏览器向服务器发送请求,然后服务器根据请求返回相应的文件.例如说:我们访问谷歌,浏览器就会发送一个请求报文headers,如下图.这个涉及到http协议,后面会详细说.
(下面的控制台是在chrome浏览器下按f12调用出来的,初学者可以亲自试试,很强大的web调试工具,当然在ie和firefox耶也有相应的调试工具)
然后服务器接收到报文之后,确认请求合法,返回请求页面.如下图.然后浏览器根据得到的内容解析成为我们看到的页面.
通过上面的例子,我们可以看到,网络访问实际上就是客户端请求服务器,服务器返回相应文件给客户端的过程.
在网页浏览层面,客户端就是浏览器,在软件应用层面如qq,客户端就是相应的软件.他们与服务器的交互大多数都是通过http协议.只不过浏览器通常得到的是html文件和数据,而软件得到的一般是数据.其实质是一样.也就是说,在与服务器交互的过程,浏览器和普通软件用的是同一套方法,我们掌握了web服务器交互,自然app服务器交互也就会了.
既然网络访问实质上是文件的请求与传输,而国有国法,家有家规,同样的,这个过程也需要一个规则,OSI网络模型是最基本的东西,应该说是一种思想,各种协议建立在这个模型上面.
OSI七层模型是比较抽象的东西,我就不提了,有兴趣的自行谷歌一下.跟我们开发最密切实际相关的就是http协议和ftp协议.这两种方式都可以用来与服务器交互.一般来说,http协议用于网页浏览,ftp协议用于文件传输.(我们上一节提到的上传源码到服务器就是通过ftp协议).ftp协议没什么好说的,会用ftp软件就行.有兴趣钻研的可以谷歌更多信息了解.重点是http协议的理解.
我强调一下比较重要的东西.
1.POST和GET方法的区别和作用.(这个在以后的开发中会经常用到,后面用到的时候我会在详细说如何使用)
2.COOKIE的概念及作用.
声明:以下内容有引用别人的博文,我会附录在最后.另外,由于水平有限,可能某些地方理解不够深入,有错误欢迎指出.我会尽量以通俗的语言说明,有些术语不严谨请见谅.
网络原理
网络原理涉及到很多东西,下面我只是粗略的讲述,我个人觉得懂个大概就行了,细节的东西可以慢慢在开发过程中补充学习,毕竟等你把网络相关的书籍读完估计黄花菜都凉了.当我们打开浏览器,在地址栏中输入URL,然后我们就看到了网页。 原理是怎样的呢?
实际上我们输入URL后,我们的浏览器给Web服务器发送了一个Request, Web服务器接到Request后进行处理,生成相应的Response,然后发送给浏览器, 浏览器解析Response中的HTML,这样我们就看到了网页,过程如下图所示
也就是说,我们平时访问网站,就是通过浏览器向服务器发送请求,然后服务器根据请求返回相应的文件.例如说:我们访问谷歌,浏览器就会发送一个请求报文headers,如下图.这个涉及到http协议,后面会详细说.
(下面的控制台是在chrome浏览器下按f12调用出来的,初学者可以亲自试试,很强大的web调试工具,当然在ie和firefox耶也有相应的调试工具)
然后服务器接收到报文之后,确认请求合法,返回请求页面.如下图.然后浏览器根据得到的内容解析成为我们看到的页面.
通过上面的例子,我们可以看到,网络访问实际上就是客户端请求服务器,服务器返回相应文件给客户端的过程.
在网页浏览层面,客户端就是浏览器,在软件应用层面如qq,客户端就是相应的软件.他们与服务器的交互大多数都是通过http协议.只不过浏览器通常得到的是html文件和数据,而软件得到的一般是数据.其实质是一样.也就是说,在与服务器交互的过程,浏览器和普通软件用的是同一套方法,我们掌握了web服务器交互,自然app服务器交互也就会了.
既然网络访问实质上是文件的请求与传输,而国有国法,家有家规,同样的,这个过程也需要一个规则,OSI网络模型是最基本的东西,应该说是一种思想,各种协议建立在这个模型上面.
OSI七层模型是比较抽象的东西,我就不提了,有兴趣的自行谷歌一下.跟我们开发最密切实际相关的就是http协议和ftp协议.这两种方式都可以用来与服务器交互.一般来说,http协议用于网页浏览,ftp协议用于文件传输.(我们上一节提到的上传源码到服务器就是通过ftp协议).ftp协议没什么好说的,会用ftp软件就行.有兴趣钻研的可以谷歌更多信息了解.重点是http协议的理解.
http协议
这个部分我自己是看了HTTP协议 - 随笔分类 - 小坦克 - 博客园才深入理解http协议的,觉得自己写出来的不会比他写的更好,所以这里就不重复了.大家看完他的这一系列就能对http协议有一定了解.我强调一下比较重要的东西.
1.POST和GET方法的区别和作用.(这个在以后的开发中会经常用到,后面用到的时候我会在详细说如何使用)
2.COOKIE的概念及作用.
相关文章推荐
- 网站开发-php开发手机论坛(5)-创建帖子(2)
- 网站开发-php开发手机论坛(5)-创建帖子(1)
- 网站开发-php开发手机论坛(7)-查看帖子
- 网站开发-php开发手机论坛(4)-功能设计及需求分析,功能结构模型
- 网站开发-php开发手机论坛(6)-登陆注册(1)
- 网站开发-php开发手机论坛(6)-登陆注册(2)
- 网站开发-php开发手机论坛(3)-开发语言及开发工具介绍
- 网站开发-php开发手机论坛(11)-用户中心
- 网站开发-php开发手机论坛(9)-分页显示评论
- 网站开发-php开发手机论坛(1)-建网站的基本流程
- 网站开发-php开发手机论坛(8)-编辑帖子
- 网站开发-php开发手机论坛(10)-帖子列表显示
- 网站开发-php开发手机论坛(4)-数据库设计
- php 去除图片以及DIV的width、height、style,作用:ecshop手机网站调用商品详情
- 数据库引擎开发以及常见数据库内部原理学习(3):网络编程基础
- java网络编程客户端与服务端原理以及用URL解析HTTP协议
- 网站开发-用php开发论坛专栏-简介及目录
- 目前网络上大部分的网站都是由ASP或PHP开发,并且java平台的软件购买成本不适合中小企业客户,一般适用于银行、国家安全等行业领域
- session共享原理以及PHP 实现多网站共享用户SESSION 数据解决方案
- Android开发相关的视频网站和论坛以及个人博客收集