载风月|简单说说HTTP协议之URL

HTTP协议是HyperTextTransferProtocol(超文本传输协议)的缩写,是用于从万维网(WWW:WorldWideWeb)服务器传输超文本到本地浏览器的传送协议 。
HTTP是一个基于TCP/IP通信协议来传递数据 , 经典的HTTP是1.0版本 , 目前主流的HTTP是1.1版本 , 当然当前比较潮流的网络已经开始使用2.0版本的HTTP 。
下面是一个URL,全称是UniformResourceLocator,中文叫统一资源定位符,是互联网上用来标识某一处资源的地址 。
在上面这个URL中 , 可以简单分为下面几断:
1.HTTP叫Protocol , 即协议 , 在Internet中可以使用多种协议 , 如HTTP , FTP等等本例中使用的是HTTP协议 。 在"HTTP"后面的“//”为分隔符
2.www.baidu.com叫Host , 客户端指定自己想访问的http服务器的域名/IP地址和端口号 。
3.s?wd=CCIE&ie=UTF-8叫URI , 是uniformresourceidentifier , 统一资源标识符 , 用来唯一的标识一个资源 , 其中在URI中 , wd叫变量名 , CCIE叫变量值 , 也就是搜索的资源 。
下面我们通过实验简单来看看HTTP里面的Request请求包和Respond响应 。
我已经在我局域网的一台Windows上安装好了WWW的服务(此处不赘述) , 主要是下面图片内容 。
可以看到当前是HTTP1.1的版本 , 1.0版本的HTTP提供的是瞬时服务 , 1.1版本的HTTP可以维持TCP的会话 , 后面的400代表客户端有问题 , 无法访问(因为我使用路由器测试的 , 不是PC系统的浏览器) , 下面的ContentType代表传递的信息是text的html网页 , Server可以看到服务器的系统是微软2.0的版本 , Connection可以看到会话已经关闭 , Content-Length代表传递内容的长度 。 下面尖括号里面的内容就是具体的内容了 。
另外我用我的PC对WWW网站进行访问测试 , 并且抓取本地网卡的TCP数据包:


推荐阅读