1.HTTP协议介绍
* 超文本传送协议(HTTP, Hypertext transport protocol)
* HTTP协议基于TCP协议
* HTTP默认端口:80
* HTTP协议基于请求响应模式
* 必须先有浏览器发送请求,再有服务器作出响应
* 请求与响应成对的
* HTTP协议版本
* HTTP/1.1 建立一个连接,将可以发送多次请求
* HTTP/1.0 建立一个连接,发送一次请求,连接关闭
* 使用window提供telnet命令模拟浏览器访问,win7以上系统telnet默认不能使用,需要安装(启用)
* 安装:控制面板/程序/打开或关闭windows功能,选择telnet客户端
cmd> telnet localhost 8080
ctrl + ]
GET /myweb/1.html HTTP/1.1
Host:localhost
* 端口
* TCP ,0 -- 65535 ,建议0--1024 预留给操作系统。tomcat8080,mysql3306,oracle1521
* UDP ,0 -- 65535
2.安装软件查看HTTP协议的详情,soft/httpwatch.zip
* httpwatch IE浏览器的插件,如果没有安装成功
* 火狐--查询插件firebug
* 谷歌--内置(右键:审查元素)
3.HTTP--请求
* 格式:请求行、请求头、请求体
* 请求行
* 格式:请求方式 请求资源路径 协议/版本
* 例如:GET /myweb/1.html HTTP/1.1
* 请求方式:HTTP协议提供7种,常用两种:GET、POST 回顾:<form action="" method="post | get">
* get :将请求参数追加到URL之后,传递服务器。长度有限,1k
* http://localhost:8080/myweb/1.html?username=jack&password=1234&gender=男
* post:将请求参数放置请求体,用户看不到,安全,处理大量数据
* 请求头
Accept: text/html,image/* --支持数据类型
* MIME类型格式:大类型/小类型 , text/html,text/css,text/javascript ; image ; application ; 等
* 默认tomcat提供MIME类型,%tomcat%/conf/web.xml
Accept-Charset: ISO-8859-1 --字符集
Accept-Encoding: gzip --支持压缩格式
Accept-Language:zh-cn --语言环境,国际化
Host: www.itcast.com:80 --访问主机
If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT --缓存时间
* 只有GET请求方式存在缓存
Referer: http://www.itcast.com/index.jsp --来自哪个页面、防盗链
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
Cookie --回话技术 后面讲
Connection: close/Keep-Alive --链接状态
Date: Tue, 11 Jul 2000 18:23:51 GMT --时间
* 请求体:
请求体用于存放post请求提交内容
最有一个请求头,与请求体之间存在一个空行
4.HTTP--响应
* 格式:响应行、响应头、响应体
* 响应行:
* 格式:协议/版本 状态码 状态码对应的信息
* 例如:HTTP/1.1 200 OK
* 状态码
* 200 ,正常
* 304 ,读取缓存
* 302 ,跳转,必须与响应头location一起使用
* 404 ,页面不存在
* 500 ,服务器异常
* 响应头
Location: http://www.it315.org/index.jsp --跳转方向【】
Server:apache tomcat --服务器型号
Content-Encoding: gzip --数据压缩【】
Content-Length: 80 --数据长度
Content-Language: zh-cn --语言环境
Content-Type: text/html; charset=GB2312 --数据类型,响应体发送数据编码格式(响应的中文编码)【】
* 例如:text/html;charset=UTF-8 ,MIME类型格式:大类型/小类型;参数
Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT --最后修改时间
Refresh: 1;url=http://www.it315.org --定时刷新
Content-Disposition: attachment; filename=aaa.zip --下载【】
Set-Cookie:SS=Q0=5Lb_nQ; path=/search
Expires: -1 --缓存,web资源缓存,一共3种,兼容不同浏览器
Cache-Control: no-cache --缓存
Pragma: no-cache --缓存
Connection: close/Keep-Alive --连接
Date: Tue, 11 Jul 2000 18:23:51 GMT --时间
* 响应体
* 一般请求就是通常看到html代码 |
|