11,10,12
课堂主要内容:
1、HTTP协议的详解。
(1)HTTP简介:WEB浏览器与WEB浏览器之间的一问一答的交互过程必须遵循一定的规则,这个规则就是HTTP协议。它是超文本传输协议。用于定义WEB浏览器与WEB服务器之间的交换数据的过程以及数据本身的格式。广泛使用的HTTP版本是:HTTP/1.1。
(2)HTTP1.0的会话方式:
有四个步骤:a)客户机----建立连接---->服务器
b)客户机----发出请求信息---->服务器
c)客户机<---回送响应信息----服务器
d)客户机<----关闭连接----服务器
注:浏览器与WEB服务器的连接过程是短暂的,每次连接只负责一次的应答和请求。
支持代理:请求链------------------->
WEB浏览器--------代理服务器-------WEB服务器
<------------------------响应链
HTTP1.0缺点:需要与服务器建立多次的连接和断开连接,消耗资源和耗时。
(3)HTTP1.1的特点:
是一个持久的连接,在一个TCP连接上可以传送多个HTTP请求和响应。
每一个页面都要建立自己的连接。
多个请求和响应过程可以重叠进行。
增加了更多的请求头和响应头。
(4)HTTP请求消息:
请求消息的结构:
一个请求行、若干消息头、以及试题内容,其中的一些消息头和实体内容都是可选的,消息头和试题内容之间要用空行隔开。
举例:
GET /books/java.html HTTP/1.1 请求行
Accept: */*
Accept-Language: en-us
Connection: Keep-Alive
Host: localhost 多个消息头
Referer: http://localhost/links.asp
User-Agent: Mozilla/4.0
Accept-Encoding: gzip, deflate
一个空行
(5)HTTP响应消息:
响应消息的结构:一个状态行、若干消息头、以及实体内容,其中的一些消息头和试题内容都是可选的,消息头和实体内容之间要用空行隔开。
举例:
HTTP/1.1 200 OK 状态行
Server: Microsoft-IIS/5.0
Date: Thu, 13 Jul 2000 05:46:53 GMT 多个消息头
Content-Length: 2291
Content-Type: text/html
Cache-control: private
一个空行
<HTML> 实体内容
<BODY>
……
(6)HTTP消息-->其他细节:
GET请求和POST请求的区别:
GET是把我们要提交的内容附加在URL地址后面,消息头后面没有试题内容。保密性能不好。传递的数据不能太大,有长度的限制。
POST要传递的数据是作为要传递的请求消息作为实体内容。保密性能好一些,没有长度的限制。
(7)请求行与状态行:
请求行:
格式:请求方式 资源路径 HTTP版本号<CRLF>
举例:GET /test.html HTTP/1.1
请求方式:POST、HEAD、OPTIONS、DELETE、TRACE、PUT
状态行:
格式: HTTP版本号 状态码 原因叙述<CRLF>
举例:HTTP/1.1 200 OK
格式:请求方式 资源路径 HTTP版本号
(8)使用GET和POST方式传递参数:
(9)响应状态码:
(10)HTTP消息头:
请求消息头信息:Accept-Language:en-us
通用消息头:
通用消息头字段既能用于请求消息,也能用于响应消息,它包括一些与被传输的实体内容没有关系的常用消息头字段。
请求头:
请求头字段用于客户端在请求消息中向服务器传递附加信息,主要包括客户端可以接受的数据类型、压缩方法、语言、以及发出请求的超链接所属网页的URL地址等信息。
响应头:
响应头字段用于服务器在响应信息中向客户端传递附加信息,包括服务程序名,被请求资源需要的认证方式,被请求资源已移动到的新地址等信息。
实体头:
实体头用作实体内容的元信息,描述了实体内容的属性,包括实体信息类型、长度、压缩方法、最后一次修改时间、数据有效期等。
扩展头: