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
  • 请求方式:GET和POST区别请求方式不同(?username="zhang" & password=""

    GET将附加内容添加至URL后面,数据大小(1K)
    POST 请求参数放置实体内容,数据没有限制

    from表单提交(明确指出POST) 其余 GET

  • 请求行
    Accept: text/html,image/* 客户端可以接受的数据类型
    Accept-Charset: ISO-8859-1 客户端接受数据需要使用的字符集编码
    Accept-Encoding: gzip,compress 客户端可以接受的数据压缩格式
    Accept-Language: en-us,zh-cn 可接受的语言环境
    Host: www.it315.org:80 想要访问的虚拟主机名
    If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT 这是和缓存相关的一个头,带着缓存资源的最后获取时间
    Referer: http://www.it315.org/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 当前时间

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>
……

  • 状态行
    HTTP/版本号 状态码 原因叙述
    状态码:200(请求成功) 302(请求重定向) 307|304(本地资源缓存) 404(找不到资源) 500(服务器出错)

  • 若干响应头
    location 302配合使用:请求重定向
    Server
    Last_modified
    请求头modified时间点对比(if modified since),是否利用本地缓存
    Refresh:url:www.go.com
    Set-Cookie:
    Expires: -1 ---通知浏览器是否缓存当前资源(单位若是毫秒,缓存到指定时间点)
    Cache-Control:no-cache
    pragma:no-cache;
    三个头由于历史原因
    Connection:close/Keep-Alive

  • 实体内容

posted @ 2015-06-08 11:46  jerryer  阅读(96)  评论(0编辑  收藏  举报