JavaWeb基础:HTTP协议和基于Restful的架构
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的架构的更多相关文章
- JavaWeb基础—Http协议
一.什么是Http协议 超文本传输协议的简称,用于定义客户端与web服务器通迅的格式. 关于[标准的HTTP协议是无状态的],请参见:http://www.cnblogs.com/bellkosmos ...
- JavaWeb基础: 学习大纲
JavaWeb基础: Web应用和Web服务器 JavaWeb基础: Tomcat JavaWeb基础:HTTP协议和基于Restful的架构 JavaWeb基础: Web工程配置文件 JavaWeb ...
- SpringMVC+Json构建基于Restful风格的应用(转)
一.spring 版本:spring-framework-3.2.7.RELEASE 二.所需其它Jar包: 三.主要代码: web.xml <?xml version="1.0&qu ...
- 基于RESTful API 怎么设计用户权限控制?
前言 有人说,每个人都是平等的:也有人说,人生来就是不平等的:在人类社会中,并没有绝对的公平,一件事,并不是所有人都能去做:一样物,并不是所有人都能够拥有.每个人都有自己的角色,每种角色都有对某种资源 ...
- 基于RESTful API 设计用户权限控制
RESTful简述 本文是基于RESTful描述的,需要你对这个有初步的了解. RESTful是什么? Representational State Transfer,简称REST,是Roy Fiel ...
- 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 ...
- 超详细的Java面试题总结(四 )之JavaWeb基础知识总结
系列文章请查看: 超详细的Java面试题总结(一)之Java基础知识篇 超详细的Java面试题总结(二)之Java基础知识篇 超详细的Java面试题总结(三)之Java集合篇常见问题 超详细的Java ...
- Yii2 基于RESTful架构的 advanced版API接口开发 配置、实现、测试 (转)
环境配置: 开启服务器伪静态 本处以apache为例,查看apache的conf目录下httpd.conf,找到下面的代码 LoadModule rewrite_module modules/mod_ ...
- WebApi系列~基于RESTful标准的Web Api
微软的web api是在vs2012上的mvc4项目绑定发行的,它提出的web api是完全基于RESTful标准的,完全不同于之前的(同是SOAP协议的)wcf和webService,它是简单,代码 ...
随机推荐
- sql 自增字段的控制 hibernate注解的写法
1 创建序列,新建了一个列作为主键 create sequence pbaseinfo INCREMENT BY 1 START WITH 1 NOMAXVALUE NOCYCLE NOCACHE; ...
- 注册dll失败
注册DLL的时候一出现错误: win8下: (右键弹出) 如果再不行, 64位系统下,把DLL移动到C:\Windows\SysWOW64下 更改路径
- [dataTables.js error] Uncaught TypeError: myTable.row is not a function
使用dataTables.js时遇到的问题. 代码如下: var myTable = $('#dynamic-table') .dataTable({ bAutoWidth : false, &quo ...
- [HDOJ1232]畅通工程
畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- 安全漏洞API接口
这个是avfisherapi写的API,经常用,每次找他的博客都搜到AV,尴尬..在这里记下来. 0x01 查询最新安全事件和漏洞的接口 接口URL: 乌云网: http://avfisherapi. ...
- nyoj 19擅长排列的小明 (DFS)
擅长排列的小明 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想 ...
- Android_相关路径
1. Android应用安装涉及到如下几个目录:system/app 系统自带的应用程序,无法删除.data/app 用户程序安装的目录,有删除权限.安装时把apk文件复制到此目录.da ...
- web设计经验<六>令网站看起来不专业的10个设计误区
不管你是不是一个羽翼未丰企业的领导,专业的网站能为你带来的东西比你想象的多很多.退一万步来说,“考虑到我们是一个小厂”,粗糙的网站也许能被用户理解,但是不一定能接受.每天大家所浏览的大量的网站,已经从 ...
- php用curl调用接口方法,get和post两种方式
首先是客户端执行方法ApiModel.php: <?php /** * 模拟post进行url请求 * @param string $url * @param array $post_data ...
- keepalived的安装和使用
IP配置 管理IP地址 角色 备注 网卡 192.168.1.114 主调度器(Director) 对外提供VIP服务的地址为192.168.1.88 eth1 192.168.1.205 备用调度器 ...