码迷,mamicode.com
首页 > Web开发 > 详细

HTTP协议简单解析

时间:2014-11-10 12:12:44      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:http协议   服务器   tcp   socket   

1、HTTP协议的定义

官方的定义:
       WWW是以Internet作为传输媒介的一个应用系统,WWW网上最基本的传输单位是Web网页。WWW的工作给予客户机/服务器计算模型,由Web浏览器和Web服务器构成,两者之间采用超文本传输协议(HTTP)进行通信。HTTP协议是基于TCP/IP协议之上的协议,是Web浏览器和Web服务器之间的应用层协议,是通用的、无状态的、面向对象的协议。

Internet内部可以通过三种形式来实现发送信息的数据:
第一种,HTTP协议,这个也是最常见的一种协议,是基于TCP/IP的基础上实现的。
第二种,FTP协议。
第三种,TCP/IP协议,它也是最底层的协议,其他的方式必须要通过它。

TCP/IP要实现,就要实现socket编程,socket编程分为客户端与服务器端,这里就不再赘述了。


2、HTTP协议实例解析

第一步,我们在浏览器中输入如下地址http://www.baidu.com
第二步,浏览器在接收这个地址之后,会将这个域名发送到DNS服务器上,进行域名解析。我们可以ping一下百度的服务器地址,如图:
第三步,实现TCP/IP协议用Socket来完成,使用了Socket的套接字,左侧是Socket的客户端,服务器段也开了一个Socket,位于Socket的服务器端。
第四步,服务器的80端口监听客户端的链接,这样,浏览器就与服务器建立了链接,可以进行数据的交互了。

给出一个图示说明如下:

bubuko.com,布布扣

服务器端的地址不一定都是一样的,百度的服务器可能有很多个,这里我们如何去查看我们访问的是哪个地址,可以使用ping命令:

bubuko.com,布布扣


3、发送的数据

       我们要查看客户端向服务器发送了哪些数据,可以使用Google浏览器提供的审查元素这样的功能,截图如下:

bubuko.com,布布扣

其header部分的数据说明如下:

Remote Address:180.149.131.35:80
Request URL:表示申请的url地址
Request Method:GET表示请求方式
Status Code:200 ,状态为OK,表示访问成功

Accept------代表浏览器可以接收的数据类型
Accept-Encoding------代表浏览器可以接收压缩的数据
Accept-Language------zh-cn代表客户端浏览器的语言
Host:访问的主机地址
Referer:访问的域名地址
User-Agent:这里代表的是客户端浏览器


4、返回类型

服务器的返回形式主要有三种:HTML形式,XML形式和json形式
(1)HTML形式主要应用与PC客户端上,手机上访问网址也会返回HTML。
(2)XML和json主要应用与客户端的编程上,用于接收数据,对于Android来说,json用得更多一下,因为它比较省流量,但是可读性比xml差一些。
(3)有时候我们需要从服务器下载某个东西,那么应用于传输的会是IO流的形式展现。

HTTP协议简单解析

标签:http协议   服务器   tcp   socket   

原文地址:http://blog.csdn.net/ljtyzhr/article/details/40976729

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!