一、什么是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静态页面

JavaWeb基础—Http协议的更多相关文章

  1. JavaWeb基础: 学习大纲

    JavaWeb基础: Web应用和Web服务器 JavaWeb基础: Tomcat JavaWeb基础:HTTP协议和基于Restful的架构 JavaWeb基础: Web工程配置文件 JavaWeb ...

  2. JavaWeb基础知识总结

    JavaWeb基础知识总结.   1.web服务器与HTTP协议 Web服务器 l WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. l Internet上供 ...

  3. 超详细的Java面试题总结(四 )之JavaWeb基础知识总结

    系列文章请查看: 超详细的Java面试题总结(一)之Java基础知识篇 超详细的Java面试题总结(二)之Java基础知识篇 超详细的Java面试题总结(三)之Java集合篇常见问题 超详细的Java ...

  4. 关于java基础、多线程、JavaWeb基础、数据库、SSM、Springboot技术汇总

    作者 : Stanley 罗昊 本人自行总结,纯手打,有疑问请在评论区留言 [转载请注明出处和署名,谢谢!] 一.java基础 1.多态有哪些体现形式? 重写.重载 2. Overriding的是什么 ...

  5. JavaWeb基础: ServletContext

    基本概念 Web容器在启动时,会为每个Web应用程序都创建一个对应的ServletContext对象,它代表当前Web应用. ServletContext(javax.servlet.http.Ser ...

  6. #WEB安全基础 : HTTP协议 | 文章索引

    本系列讲解WEB安全所需要的HTTP协议 #WEB安全基础 : HTTP协议 | 0x0 TCP/IP四层结构 #WEB安全基础 : HTTP协议 | 0x1 TCP/IP通信 #WEB安全基础 : ...

  7. JavaWeb基础:HTTP协议和基于Restful的架构

    HTTP介绍 HTTP协议是互联网上应用最广泛的协议,它是一种无状态的数据传输协议,规定了数据请求方和数据响应方的数据传输方式:使用HTTP协议可以跨平台,跨语言的进行数据传输和展示. 目前的Web应 ...

  8. javaweb基础(4)_http协议

    一.什么是HTTP协议 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的 ...

  9. [Java面试三]JavaWeb基础知识总结.

    1.web服务器与HTTP协议 Web服务器 l WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. l Internet上供外界访问的Web资源分为: • 静 ...

随机推荐

  1. bat把npm换成淘宝源

    @echo off echo 开始.. npm config set registry http://registry.npm.taobao.org/ && npm install 注 ...

  2. SQL语句大全教程

    创建数据库 CREATE DATABASE DBNAME 删除数据库 DROP DATABASE DBNAME Ø 基本常用查询 --selectselect * from student; --al ...

  3. Hybris阶段总结(2)hybris架构

    年前总结一下这两个星期在SAP实习学到的一些东西 先上图: ​ 从底往上总结,之后会有个小例子来解释一下 1.Persistence layer 就是作为hybris所连接的数据库这一层,其中hybr ...

  4. C++实现一个Vector3空间向量类(转)

    转自:http://www.2cto.com/kf/201311/260139.html ector2,3,4类在DirectX中都有现成的可以调用,不过要实现其中的功能其实也不难,也都是一些简单的数 ...

  5. 如何在C++中动态建立二维数组(转)

    http://blog.sina.com.cn/s/blog_7c073a8d0100qp1w.html http://blog.163.com/wujiaxing009@126/blog/stati ...

  6. November 15th 2016 Week 47th Tuesday

    Success is finding satisfaction in giving a little more than you take. 成功就是付出比得到多,仍然心满意足. Can I find ...

  7. 【python库安装问题解决】UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 121: invalid start byte

    好久没用python了...今天随便pip安装个库突然报错: Exception:‘’ (most recent call last):  File "C:\ProgramData\Anac ...

  8. 1003. [ZJOI2006]物流运输【区间DP+最短路】

    Description 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转 停好几个码头.物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严 ...

  9. Linux centos修改防火墙为iptables

    防火墙配置 CentOS 7默认使用的是firewall作为防火墙,这里改为iptables防火墙.  firewall操作: # service firewalld status; #查看防火墙状态 ...

  10. ## 20145203盖泽双 《Java程序设计》第二周学习总结

    20145203盖泽双 <Java程序设计>第二周学习总结 教材学习内容总结 1.java可以分为基本类型和类类型,基本类型包括整数.字节.浮点数.字符与布尔. 整数:short(占两个字 ...