--------------------------------------------------------------------------------------仅用来学习---------------------------------------------------------------------------------------------
1.什么是http协议?
HTTP协议定义了客户端与web服务器通迅的格式,属于tcp/ip协议的一个应用层协议
特点:
a.是基于tcp连接的传输
b.默认端口是80
c.基于请求-响应模式
2.相对于udp协议来说,比较安全(采用三次握手)
3.协议版本:
HTTP/1.0 HTTP/1.1
主要区别:在HTTP1.0协议中,客户端与web服务器建立连接后,只能获得一个web资源。
HTTP1.1协议,允许客户端与web服务器建立连接后,在一个连接上获取多个web资源。
4.http请求分为请求行、请求头、请求体
post请求和get请求的区别主要在请求体上
请求行:GET /books/java.html HTTP/1.1
请求方式 请求资源 所用协议
请求头:Accept: text/html,image/* --支持数据类型(MIME类型: 大类型/小类型 在tomcat目录conf文件夹下的web.xml中可以查看很多MIME类型)
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 --缓存时间(请求的时候回带上这个时间,如果服务器判断在这个时间段内,内容没有发生改变就告诉客户端取缓存)
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 --链接状态(HTTP1.1默认会保持连接)
Date: Tue, 11 Jul 2000 18:23:51 GMT--时间
响应:
状态行
格式: HTTP版本号 状态码 原因叙述
举例:HTTP/1.1 200 OK
200(成功)服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。
302(临时移动)服务器目前从不同位置的网页响应请求,但申请人应当继续使用原有位置来响应以后的请求
304(未修改)自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。
404(未找到)服务器找不到请求的网页。
503(服务不可用)服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。
504(网关超时)服务器作为网关或代理,但是没有及时从上游服务器收到请求。
HTTP请求中的常用响应头
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 --数据类型
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 --缓存
Cache-Control: no-cache --缓存
Pragma: no-cache --缓存
Connection: close/Keep-Alive --连接
Date: Tue, 11 Jul 2000 18:23:51 GMT --时间