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-Alive或Close;
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: