• JavaWeb基础—Http协议


    一、什么是Http协议

      超文本传输协议的简称,用于定义客户端与web服务器通迅的格式。

      关于【标准的HTTP协议是无状态的】,请参见:http://www.cnblogs.com/bellkosmos/p/5237146.html

    二、Http的版本区别

      1.0:客户端与web服务器建立连接后,只能获得一个web资源

      1.1:允许客户端与web服务器建立连接后,在一个连接上获取多个web资源

    三、Http协议格式

    1.请求:客户端向服务器发出的请求

      请求行(常为GET/POST请求方式)

        GET: (默认的请求方式),在URL地址后附带的参数,但是有限制的,其数据容量通常不能超过1K。对应的查——用于查询资源信息

        POST: 可以在请求的实体内容中向服务器发送数据,Post方式的特点:传送的数据量无限制。对应改——用于更新资源信息

      GET与POST的区别请参见http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.html
      请求头:头值
      请求体
      

    HTTP请求中的常用消息头

      accept:浏览器通过这个头告诉服务器,它所支持的数据类型
      Accept-Charset: 浏览器通过这个头告诉服务器,它支持哪种字符集
      Accept-Encoding:浏览器通过这个头告诉服务器,支持的压缩格式
      Accept-Language:浏览器通过这个头告诉服务器,它的语言环境
      Host:浏览器通过这个头告诉服务器,想访问哪台主机
      If-Modified-Since: 浏览器通过这个头告诉服务器,缓存数据的时间
      Referer:浏览器通过这个头告诉服务器,客户机是哪个页面来的  防盗链
      Connection:浏览器通过这个头告诉服务器,请求完后是断开链接还是何持链接

    2.响应:服务端向客户端送回的数据

      响应行( 协议/版本 状态码/状态码的解析 ) (状态行,处理的结果)
      响应头(key/value格式):对数据的描述以及告知客户端如何处理送回的数据

    HTTP响应中的常用响应头(消息头)
      Location: 服务器通过这个头,来告诉浏览器跳到哪里
      Server:服务器通过这个头,告诉浏览器服务器的型号
      Content-Encoding:服务器通过这个头,告诉浏览器,数据的压缩格式
      Content-Length: 服务器通过这个头,告诉浏览器回送数据的长度
      Content-Language: 服务器通过这个头,告诉浏览器语言环境
      Content-Type:服务器通过这个头,告诉浏览器回送数据的类型
      Refresh:服务器通过这个头,告诉浏览器定时刷新

      Content-Disposition: 服务器通过这个头,告诉浏览器以下载方式打数据
      Transfer-Encoding:服务器通过这个头,告诉浏览器数据是以分块方式回送的
      Expires: -1  控制浏览器不要缓存
      Cache-Control: no-cache  
      Pragma: no-cache
      空行
      响应体

    常见状态码:

      HTTP/1.1 200 OK HTTP版本1.1 状态码200 解码表示ok(2开头的都是ok
           404(客户端的错误,资源找不到)(4打头客户端错误
           405 不支持该请求(没有重写相关的方法doGet() doPost())
           500 请求的资源找到了,但服务器内部出现了错误(5开头服务器错误
           503 服务器暂时不可用
           302 重定向。带一个响应头Location(3开头都是中转相关
           304 未修改 Not Modified。告诉浏览器最后修改时间是正确最新的,节省传输成本
             (Last-Modifired (Since))当然针对的是HTML静态页面

  • 相关阅读:
    BZOJ 1008: [HNOI2008]越狱
    BZOJ 1007: [HNOI2008]水平可见直线
    BZOJ 1005: [HNOI2008]明明的烦恼
    【LibreOJ10121】与众不同(RMQ,二分)
    【NOIP模拟】数字对(RMQ,二分)
    【POJ3264】Balanced Lineup(RMQ)
    【JZOJ4857】Tourist Attractions(Bitset)
    【BZOJ2330】糖果(差分约束系统,强连通分量,拓扑排序)
    C++对拍数据生成
    C++字符串读入
  • 原文地址:https://www.cnblogs.com/jiangbei/p/6681215.html
Copyright © 2020-2023  润新知