java自学之路-----web_基础、请求头和响应头
2014-11-10 10:08
323 查看
WEB基础:
定义:表示网页,用于表示Internet主机上供外界访问的资源静态:web页面中供用户浏览的数据始终是不变的,技术:html
动态:web页面中供人们浏览的数据是由程序产生的,不同时间访问web页面看到的内容都是不同的,技术:JSP/Servlet、ASP、PHP
web服务器:ie访问服务器,服务器访问资源文件。资源文件将信息给服务器,服务器再将信息返回给ie
常见的:
1.WebLogic,BEA公司的产品,目前应用最广泛的Web服务器,支持J2EE规范,
2.Websphere:IBM公司,支持J2EE规范
3.Tomcat:apache公司,支持全部JSP以及Servlet规范
Tomcat目录结构:
bin:存放启动和关闭Tomcat的脚本文件
conf:存放Tomcat服务器的各种配置文件
lib:存放Tomcat服务器的支撑jar包
logs:存放Tomcat的日志文件
temp:存放Tomcat运行时产生的临时文件
webapps:web应用的所在目录,供外界访问的web资源的存放目录
word:Tomcat的工作目录
web资源的访问流程:
http协议{
1.Hypertext Transfer Protocol(超文本传输协议),是TCP/IP协议的一个应用层协议,用于定义web服务器与web服务器之间交换数据的过程2.客户端连上web服务器后,若想获得web服务器中某个web资源,需遵守一定的通讯格式,http协议用于定义客户端和web服务器通讯的格式。telnet程序可以进行手动的连接web服务器,并使用http协议获得数据)
3.版本:HTTP/1.0(一个连接只能获得一次资源) HTTP/1.1(一个连接可以获得多次资源)
请求信息{
定义:客户端连上服务器之后,向服务器请求某个web资源,称之为客户端向服务器发送了一个http请求,一个完整的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 xxxxxxx | 请求行 多个消息头 一个空行 实体内容 |
请求方式:POST(数据放在请求的实体,数据量无限制)、GET(数据以跟在url地址后的方式提交,数据容量不得超过1K)、HEAD、OPTIONS、DELETE、TRACE、PUT,默认情况下浏览器向服务器访问的方式都是GET、通过更改表单的提交方式可以将请求方式改为POST
请求头:用来描述客户端请求的主机名,以及客户端的环境信息{
Accept:通知服务器,客户机支持的数据类型
Accept-Charset:客户机采用的编码
Accept-Encoding:客户机支持的数据压缩格式
Accept-Language:客户机的语言环境(例如:中文的系统访问获得的是中文页面)
Host:客户机想要访问的主机名
If-Modified-Since:通知服务器,客户机获得的资源的缓存时间
Referer:告诉服务器,客户机是从哪个资源访问服务器的(防盗链使用)
User-Agent:客户机的软件环境(浏览器版本,操作系统信息)
Cookie:可以向服务器带数据
Connection:告诉服务器,访问完数据是关闭还是保持连接
Date:请求时间
Range:指示服务器只传输一部分web资源,用于实现断点续传的功能。Range头域可以请求实体的一个或者多个子范围。例如:表示头500个字节:bytes=0-499 表示最后一个500字节:bytes=-500
}
}
响应信息{
定义:代表服务器向客户端回送的数据,包括:一个状态行、若干消息头、以及实体内容
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> | 状态行 多个消息头 一个空行 实体内容 |
4000
态码、状态说明
状态码:
状态码 | 含义 |
100~199 | 表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程 |
200~299 | 表示成功接收请求并已完成整个处理过程,常用200 |
300~399 | 为完成请求,客户需进一步细化请求。例如,请求的资源已经移动一个新地址,常用302、307和304 |
400~499 | 客户端的请求有错误,常用404 |
500~599 | 服务器端处理资源出现错误,常用500 |
Location:配合302状态码使用,用来告诉客户机找那个资源(重定向,改变uri地址)
Server:告诉浏览器服务器的类型
Content-Encoding:告诉浏览器数据的压缩格式(用于将数据进行压缩,在告诉浏览器压缩格式,浏览器才能进行解析)
Content-Length:告诉浏览器回送数据的长度
Content-Type:告诉浏览器回送的数据的类型(查看服务器的web.xml文件查看不同格式对应不同的写法)
Last-Modified:告诉浏览器当前资源的缓存时间
Refresh:告诉浏览器隔多长时间刷新一次(可以在后面跟上一个地址,就会刷新到另一个资源)
Content-Disposition:告诉浏览器以下载的方式打开数据
Transfer-Encoding:告诉浏览器数据的传输格式
ETag:缓存相关的信息(相当于一个标识,浏览器根据该标识判断是否需要使用缓存)
Expires:告诉浏览器把会送的资源缓存多长时间,-1和0为不缓存
Cache-control:no-cache Pragma:no-cache :浏览器通过这两个信息,控制浏览器不要缓存数据
Accept-Range:说明服务器是否支持range。支持返回bytes,不支持返回none
}
实体内容:服务器向客户端回送的数据(与响应头用空行分割)
}
}
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 xxxxxxx | 请求行 多个消息头 一个空行 数据 |
相关文章推荐
- Java自学之路-Java基础教程-27:Java Web工程的运行和Tomcat服务器
- Java自学之路-Java基础教程-26:JavaEE和新建Web工程以及初识JSP网页
- Java自学之路-Java基础教程-30:Java Web工程的JSP与初识Servlet类
- Java自学之路-Java基础教程-29:Java Web工程和Tomcat集成在Eclipse中部署
- JavaWeb——响应编码与请求编码
- 使用Filter统计Java(J2EE)的web程序http请求响应时间
- Java自学之路-Java基础教程-2:运行Java程序的Java虚拟机环境塔建
- javaweb开发篇——HTTP协议请求和响应详解(上)
- Java自学之路-Java基础教程-7:Java术语之成员类型符static
- JavaWeb 修炼之路(五)服务器中的请求和响应
- Java自学之路-Java基础教程-1:第一行Java代码Hello World!
- JavaWeb应用程序的规范和web基础的请求处理
- 【Java.Web】JSP —— 语法基础 —— 请求转发
- Java自学之路-Java基础教程-4:Java编辑器Eclipse安装使用和Java工程创建
- Java自学之路-Java基础教程-9:Java的变量类型-8种基本类型和3种引用类型
- JavaWeb---Servlet的请求和响应
- JavaWeb之Servlet:请求 与 响应
- java自学之路-----JSP_基础语法
- java web基础 --- 图像加载Http请求
- struts2基础——请求与响应、获取web资源