Chinaunix首页 | 论坛 | 博客
  • 博客访问: 829907
  • 博文数量: 247
  • 博客积分: 166
  • 博客等级: 入伍新兵
  • 技术积分: 2199
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-15 16:10
文章分类

全部博文(247)

文章存档

2017年(1)

2015年(63)

2014年(80)

2013年(94)

2012年(9)

分类: 网络与安全

2014-11-27 11:09:23

简介:
HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。 
HTTP协议是学习JavaWEB开发的基石,不深入了解HTTP协议,就不能说掌握了WEB开发,更无法管理和维护一些复杂的WEB站点。
HTTP协议的版本:HTTP/1.0、HTTP/1.1
在HTTP1.0协议中,客户端与web服务器建立连接后,只能获得一个web资源。
HTTP1.1协议,允许客户端与web服务器建立连接后,在一个连接上获取多个web资源。

客户端连上服务器后,向服务器请求某个web资源,称之为客户端向服务器发送了一个HTTP请求。一个完整的HTTP请求包括如下内容:
一个请求行、若干消息头、以及实体内容,如下所示 :

请求行中的GET称之为请求方式,请求方式有:
POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT
常用的有: GET、 POST
用户如没有设置,默认情况下浏览器向服务器发送的都是get请求,例如在浏览器直接输地址访问,点超链接访问等都是get,
用户如想把请求方式改为post,可通过更改表单的提交方式实现。

一个HTTP响应代表服务器向客户端回送的数据,它包括:
一个状态行、若干消息头、以及实体内容 ,如下所示 :


1、HTTP请求
    * 分类:请求行、请求头、请求体
    * 请求行:描述请求的资源
        * 格式:请求方法  资源路径  协议
            * 例如:GET /day04/1.html HTTP/1.1
        * 请求方法
            * GET:请求内容追加在URL之后
                * URL的长度有限制1k
            * POST:请求内容放置在请求体中
    * 请求头
        * Accept:浏览器通知服务器,浏览器可以接受的数据类型
        * Accept-charset:浏览器通知服务器,浏览器支持的字符集
        * Accept-Encoding:浏览器通知服务器,浏览器支持的压缩格式
        * Accept-Language:浏览器通知服务器,浏览器支持的语言环境
        * Host:浏览器通知服务器,浏览器访问的服务器的主机名
        * If-Modified-since:浏览器询问服务器,浏览器本地是否修改过
        * Referer:浏览器通知服务器,浏览器当前页来自哪个页面
            * 防盗链
        * user-agent:浏览器通知服务器,浏览器端的基本信息
        * cookie:
        * connection:浏览器保持服务器,是否保持连接状态
        * Date:浏览器通知服务器,浏览器端的时间
    * 请求体
        * 请求体与请求头之间存在一个空行

2、HTTP响应
    * 分类:响应行 响应头 响应体
        * 响应行:协议 状态码 状态信息
            * 例如:HTTP1.1 200 ok
        * 状态码:服务器通知浏览器的行为,执行过程
            * 1xx:服务器通知浏览器,服务器还没有处理完成
            * 2xx: 服务器通知浏览器,服务器已经处理完成
            * 200:处理完成
            * 3xx: 服务器通知浏览器,服务器还需要浏览器进一步处理来完成整个操作
            * 302:服务器通知浏览器需要进一步操作,从http相应头获(location)得进一步操作的资源
            * 304:服务器通知浏览器当前资源没有修改,从缓存中获取
            * 4xx:服务器通知浏览器,浏览器发送数据有误
            * 401:没有权限
            * 404:找不到资源
            * 5xx:服务器通知浏览器,服务器出现异常
            * 500:服务器异常
            * 503:服务器未响应
    * 响应头
        HTTP请求中的常用响应头
        Location: --跳转方向
        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= --定时刷新
        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 --时间
    * 响应体:服务器响应浏览器所有的内容
        * 注意:响应头与响应体之间存在一个空行








阅读(797) | 评论(0) | 转发(0) |
0

上一篇:Java读取properties文件

下一篇:文件上传

给主人留下些什么吧!~~