http协议学习笔记

上一篇 / 下一篇  2012-01-12 14:52:39 / 天气: 晴朗 / 心情: 平静 / 置顶(1)

a)从最简单的谈话开始,获取页面
举个例子说明.TCP Client连接上WEB服务器后,发送如下字符串来获取demo.htm页面

GET /demo.htm HTTP/1.0\r\n
Host: 192.168.1.1\r\n
Referer:
http://192.168.1.1/demo.htm\r\n
User-Agent: Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)\r\n
Accept: */*\r\n
Connection: Keep-Alive\r\n
\r\n

解释一下吧。
-- GET
:获取页面的动作方式;
--/demo.htm
要获取的页面;

--HTTP/1.0
HTTP协议版本;
--Host:
主机节点地址,也就是connect连接的地址;
--Referer:
引用的页面全称,比如IE地址栏输入的URL;
--User-Agent:
这个不用多解释了,HTML解析器的兼容类型,也就是html的接收者
;
--Accept:
可以接收何种类型文档;

--Connection
:网络连接后的行为方式,或Keep-AliveClose;

b)进阶.要我输入用户名密码怎么办?是否遇到过这种情况,请求的页面后返回"401 Unauthorized",IE访问弹出输入用户名和密码的对话框,对这种情况怎样发送请求呢?


举例之.
IE地址栏输入http://192.168.1.1/demo.htm,访问时弹出输入用户名和密码的对话框,这时输入用户名"root"密码"pass"(当然我知道用户名密码),OK,看到页面了;也可这样,IE地址栏输入


http://root:pass@192.168.1.1/demo.htm,OK,
直接看到页面!

来看一下是怎么做到的! Client发送的内容有些变化
!

GET /demo.htm HTTP/1.0\r\n
Host: 192.168.1.1\r\n
Referer:
http://192.168.1.1/demo.htm\r\n
User-Agent: Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)\r\n
Accept: */*\r\n
Connection: Keep-Alive\r\n
Authorization: Basic cm9vdDpwYXNz\r\n
\r\n,

注意!关键有这么一项"Authorization",那么用户名密码root:pass又在哪里呢?注意到"Basic

cm9vdDpwYXNz"
了吗?这里root:pass经过Base64编码,变成了"cm9vdDpwYXNz"!


TAG:

 

评分:0

我来说两句

日历

« 2024-04-30  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 18490
  • 日志数: 42
  • 建立时间: 2011-03-23
  • 更新时间: 2012-03-13

RSS订阅

Open Toolbar