JavaWeb知识点:Http协议

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方式的特点:传送的数据量无限制。对应改——用于更新资源信息

     请求头:头值

      请求体

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静态页面

更多参见:http://tool.oschina.net/commons?type=5

猜你喜欢

转载自www.cnblogs.com/python-road/p/10476809.html