1.简介:
HTTP协议:Hypertext transfer protocol 超文本 传输 协议
它是TCP/IP协议集中的一个运用层协议。
用于定义WEB浏览器和WEB服务器之间交换数据的过程和数据的格式。
2.会话方式:
1.建立链接 2.客户端发送请求到服务器 3.服务器响应 4.关闭链接
3.HTTP/1.1比HTTP/1.0的进步
1.一个ICP/IP上可以包含多个HTTP请求和响应
(这样,一个网页中的多张图片就可以在一个TCP/IP中传输 (HTTP/1.0每个图片需要建立一个TCP/IP连接) 。 但是每个单独网页文件,必须建立一个单独的TCP/IP连接)
2.多个请求和响应和同时进行。
(一个网页的单独ICP/IP连接中。发送第一次请求后,不用等待第一次响应完成,可以先发送第二次请求。)
(服务器按照客户端请求的先后顺序,回送响应结果。)
3.增加更多的请求头和响应头。 如:增加HOST请求头,可以使用主机名,表示访问服务器上面那个web站点。
4.HTTP请求消息
请求消息的结构:1.一个请求行(请求方式 请求URL HTTP版本) 2.若干消息头(可选,可以没有) 3.实体内容(GET请求没有,而且只有POST、PUT、Delete、请求才有) 消息头和实体的内容之间要用空行隔开(代表消息头结束,空行后面是实体内容。按ENTER键就可以)
5.HTTP响应消息
响应消息的结构:1.一个状态行 2.若干消息头(可选,可以没有) 3.实体内容(可以没有) 消息头和实体的内容之间要用空行隔开(代表消息头结束,空行后面是实体内容。实体内容就是网页的源代码)
6.消息头作用:
相当于服务器和浏览器之前的指令。
浏览器用消息头向服务器传递信息:1.传递自己国家的语言Accept-Language 2.把当前网页从哪个链接来访问的告诉服务器 ...
服务器告诉浏览器:1.告诉浏览器使用什么字符集显示页面 2.在客户端创建一个cookie ...
格式:名称:空格 值(多个值用,号隔开) 回车。 有些头可以出现多次。 不区分大小写,默认,每个单词首字母大写。
7.使用telnet命令测试
1.telnet localhost 80
2.按下 'CTRL+]',打开本机回显功能。
3.按回车
4.GET /a.htm HTTP/1.0 回车,再按一下回车。
HTTP/1.0中的请求案例:
GET /a.html HTTP/1.0
HTTP/1.1 200 OK
Content-Length: 16
Content-Type: text/html
Last-Modified: Tue, 16 Oct 2012 07:14:37 GMT
Accept-Ranges: bytes
ETag: "885ba7e66dabcd1:7d4"
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Sat, 20 Oct 2012 07:31:58 GMT
Connection: close
var data="12345"
(var data="12345"是a.htm的网页内容)
HTTP/1.1中的请求案例(状态行后面必须加上空行 然后加上HOST才行):
GET /1.htm HTTP/1.1
HOST:
HTTP/1.1 200 OK
Content-Length: 427
Content-Type: text/html
Last-Modified: Sun, 21 Oct 2012 11:23:57 GMT
Accept-Ranges: bytes
ETag: "f82bcc8f7eafcd1:7dc"
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Sun, 21 Oct 2012 11:24:33 GMT
锘?html>