zoukankan      html  css  js  c++  java
  • 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静态页面

  • 相关阅读:
    Appium遇到的问题二(持续更新....)
    开源unittest测试报告源码BSTestRunner.py
    Unittest + python
    python快速开发Web之Django
    Python基础(五) python装饰器使用
    Appium环境搭建(一)
    linux ssh 报错failed
    CentOS6.9快速安装配置svn
    python 购物车小程序
    连续三次登陆失败锁定账户
  • 原文地址:https://www.cnblogs.com/jiangbei/p/6681215.html
Copyright © 2011-2022 走看看