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. Adding Value To Combo List at Runtime in Oracle Forms

    You want to add a value in Combo List item in Oracle Forms, by typing it in combo list box text area ...

  2. jquery动态样式操作

    获取与设置样式 获取class和设置class都可以使用attr()方法来完成.例如使用attr()方法来获取p元素的class,JQuery代码如下: 1 var p_class = $(" ...

  3. SQL语句like子句中的转义符

    如果想在SQL LIKE里查询有下划线'_'或是'%'等值的记录,直接写成like 'XXX_XX',则会把'_'当成是like的通配符.SQL里提供了 escape子句来处理这种情况,escape可 ...

  4. js中两个对象的比较

    代码取自于underscore.js 1.8.3的isEqual函数. 做了一些小小的修改,主要是Function的比较修改. 自己也加了一些代码解读. <!DOCTYPE html> & ...

  5. jQuery mobile 前台设计中的css em的使用。

    先贴个网址:http://www.uml.org.cn/html/201207311.asp 大家可以参考一下面这张转换表(body字体为16px时的值) 总结 长篇介绍了一大堆,唯一想告诉大家的是以 ...

  6. DOM 操作XML(CRUD)

    <?xml version="1.0" encoding="UTF-8" standalone="no"?><书架> ...

  7. Redis配置文件之————redis.conf配置及说明

    基本设置 1. 备释当配置中需要配置内存大小时,可以使用 1k, 5GB, 4M 等类似的格式,其转换方式如下(不区分大小写):1k =< 1000 bytes1kb =< 1024 by ...

  8. 加载.properties方式

    相对路径时注意:是相对项目(即包下)还是相对当前类(一般都是相对当前项目)(对于非class的资源文件eclipse编译时会直接放到bin目录下) 1.一般是从目录中加载:需要指明路径 2.另外就是通 ...

  9. 事件冒泡与事件委托 -Tom

    事件冒泡 事件冒泡,就是事件触发的时候通过DOM向上冒泡,首先要知道不是所有的事件都有冒泡.事件在一个目标元素上触发的时候,该事件将触发祖先节点元素,直到最顶层的元素: 如图所示,如果a连接被点击,触 ...

  10. wpf datagrid 如何让标头 及内容居中

    头就是这么居中<DataGrid> <DataGrid.ColumnHeaderStyle> <Style TargetType="DataGridColumn ...