HTTP介绍

  • HTTP协议是互联网上应用最广泛的协议,它是一种无状态的数据传输协议,规定了数据请求方和数据响应方的数据传输方式;使用HTTP协议可以跨平台,跨语言的进行数据传输和展示。
  • 目前的Web应用基本都是基于HTTP协议实现的,无论是查看新闻,网上购物还是在线聊天,只要是通过浏览器打开的应用基本都遵循HTTP协议。
  • 当客户端(eg:浏览器,Httpclient,telnet...)向服务器(eg:Tomcat,Weblogic..)请求某个Web资源(eg: 查看网页,购物,在线游戏...)时就向服务器发送了一个HTTP请求,服务器接受到请求以后返回响应的报文。请求和响应的格式是固定的,请求行/请求头,响应行/响应头需要遵循一定的规范,请求体和响应体随着应用的不同而不同。
  • HTTP1.0和 HTTP1.1的主要区别是HTTP1.1允许客户端和服务器端建立连接以后,在一个连接上获取多个Web资源。如果请求的A资源上有另外三个资源,使用HTTP1.1不用反复握手,可以 一次请求。

HTTP请求

  • HTTP请求的方式有:GET/POST/PUT/DELETE/TRACE/OPTIONS,应用最广泛的是GET和POST,GET也是默认的请求方式。用户在地址栏输入www.baidu.com时就是以GET方式向百度申请资源,浏览器会自动识别和填充请求行和请求头;当百度收到请求后,后台应用程序会根据request的请求头还有参数去调用response进行响应的设置。
  • 各个浏览器都有很多查看HTTP交互的插件,IE有HTTPWatch,FF有HTTPFOX,Chrom有强大的开发者工具(ctrl+option+i)。

HTTP请求头主要携带:

  • 客户端的语言编码信息(来自操作系统),客户端的代理(浏览器等)
  • 客户端支持的内容展示方式(文本/html/图片/视频音频..),客户端是否支持文件压缩,是否支持下载
  • 客户端想访问的主机名和请求的访问来源(防止盗链,服务器通过该属性判断是否给予相应资源的权限)
  • 客户端的资源缓存时间
  • Cookie,携带传向服务器的信息

HTTP响应头主要携带:

  • 数据传输格式

HTTP响应状态码:

  • 200: OK
  • 302/307/309:请求资源重定向
  • 404:资源不存在,请求地址错误或者是有权限设置
  • 500:服务器内部错误

JavaWeb基础:HTTP协议和基于Restful的架构的更多相关文章

  1. JavaWeb基础—Http协议

    一.什么是Http协议 超文本传输协议的简称,用于定义客户端与web服务器通迅的格式. 关于[标准的HTTP协议是无状态的],请参见:http://www.cnblogs.com/bellkosmos ...

  2. JavaWeb基础: 学习大纲

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

  3. SpringMVC+Json构建基于Restful风格的应用(转)

    一.spring 版本:spring-framework-3.2.7.RELEASE 二.所需其它Jar包: 三.主要代码: web.xml <?xml version="1.0&qu ...

  4. 基于RESTful API 怎么设计用户权限控制?

    前言 有人说,每个人都是平等的:也有人说,人生来就是不平等的:在人类社会中,并没有绝对的公平,一件事,并不是所有人都能去做:一样物,并不是所有人都能够拥有.每个人都有自己的角色,每种角色都有对某种资源 ...

  5. 基于RESTful API 设计用户权限控制

    RESTful简述 本文是基于RESTful描述的,需要你对这个有初步的了解. RESTful是什么? Representational State Transfer,简称REST,是Roy Fiel ...

  6. C#中缓存的使用 ajax请求基于restFul的WebApi(post、get、delete、put) 让 .NET 更方便的导入导出 Excel .net core api +swagger(一个简单的入门demo 使用codefirst+mysql) C# 位运算详解 c# 交错数组 c# 数组协变 C# 添加Excel表单控件(Form Controls) C#串口通信程序

    C#中缓存的使用   缓存的概念及优缺点在这里就不多做介绍,主要介绍一下使用的方法. 1.在ASP.NET中页面缓存的使用方法简单,只需要在aspx页的顶部加上一句声明即可:  <%@ Outp ...

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

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

  8. Yii2 基于RESTful架构的 advanced版API接口开发 配置、实现、测试 (转)

    环境配置: 开启服务器伪静态 本处以apache为例,查看apache的conf目录下httpd.conf,找到下面的代码 LoadModule rewrite_module modules/mod_ ...

  9. WebApi系列~基于RESTful标准的Web Api

    微软的web api是在vs2012上的mvc4项目绑定发行的,它提出的web api是完全基于RESTful标准的,完全不同于之前的(同是SOAP协议的)wcf和webService,它是简单,代码 ...

随机推荐

  1. block 实现原理(内存管理详解)(二)

    在以前,MRC环境下,使用block很可能会出现内存泄漏问题,并且在以往的面试中,一些接触比较久的程序员都会喜欢问到这个问题,block内存泄漏的问题! 下面,我来介绍一下,MRC下Block内存泄漏 ...

  2. getElementsByClassName

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. [转]Jenkins CommonCollections 完美利用(演示)工具

    博主URL:http://tools.changesec.com/Jenkins-CommonCollections-Exploit/ 提交漏洞总是要证明漏洞危害,老外写的java代码又有bug,所以 ...

  4. [SAP ABAP开发技术总结]OK_CODE

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  5. zoj 1010 (线段相交判断+多边形求面积)

    链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=10 Area Time Limit: 2 Seconds      Mem ...

  6. Linux 下常用解压命令(转载)

    Linux下常用文件解压(包括rpm.deb包) Linux下怎么解后缀名是gzip的文件?1.以.a为扩展名的文件:#tar xv file.a2.以.z为扩展名的文件:#uncompress fi ...

  7. XmlDocument To String

    一.从String xml到XmlDocument的: string xml = "<XML><Test>Hello World</Test></X ...

  8. 使用Memory Analyzer tool(MAT)分析内存泄漏

    前言的前言 写blog就是好,在大前提下可以想说什么写什么,不像投稿那么字字斟酌.上周末回了趟成都办事,所以本文来迟了.K117从达州经由达成线往成都方向走的时候,发现铁路边有条河,尽管我现在也不知道 ...

  9. IO端口和IO内存的区别及分别使用的函数接口

    每个外设都是通过读写其寄存器来控制的.外设寄存器也称为I/O端口,通常包括:控制寄存器.状态寄存器和数据寄存器三大类.根据访问外设寄存器的不同方式,可以把CPU分成两大类.一类CPU(如M68K,Po ...

  10. iOS开发之.pch文件初识

    pch全称是“precompiled header”,即预编译头文件,自Xcode6诞生之日起,便在Supporting Files文件下消失多年.说起苹果对pch的爱恨情仇,其分析pch的作用便不言 ...