HTTP 响应

所谓响应事实上就是server对请求处理的结果。或者假设浏览器请求的直接就是一个静态资源的话,响应的就是这个资源本身。

HTTP 响应的组成

①响应状态行:包含协议版本号、响应状态码、响应状态信息

②响应消息头:响应头

③实体内容:响应体

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTc5NDIzOA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">



  • 最常见的响应状态码

代码 表示  
说明

200   成功  
server已成功处理了请求。

通常。这表示server提供了请求的网页。

302   重定向  
代表让浏览器又一次请求还有一个资源

404   找不到  
找不到请求的资源, 但有时请求路径正确也返回 404 往往是因为 Web 应用有配置方面的问题,比如依照配置文件里指定的组件的全类名找不到指定的类。

500   错误  
server内部错误。比如server端程序执行时抛出异常。

●响应状态码以 2 开头的通常表示成功。

●响应状态码以 3 开头的通常表示转移。

●响应状态码以4开头的通常表示无法訪问。 当中包含找不到资源或没有权限等。

●响应状态码以 5 开头的通常表示server端程序执行出错。



  • 响应消息头:简称响应头

●server发送给浏览器的数据,为了告诉浏览器一些情况。

代码   说明

Location: /www.baidu.com/index.jsp   告诉浏览器又一次定向到指定的路径

Server:apache tomcat   使用的什么 web server

Content-Encoding: gzip   告诉浏览器我传给你的数据用的压缩方式

Content-Length: 80   响应体的字节数

Content-Language: zh-cn   响应体数据的语言

content-type: text/html; charset=GB2312   响应体内容的类型

Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT  
资源最后被改动的时间

Refresh: 1   定时刷新

Content-Disposition: attachment; filename=aaa.zip  
文件下载

Set-Cookie:SS=Q0=5Lb_nQ; path=/search  
将 cookie 数据回送给 ie

Expires: -1  
告诉浏览器不要缓存起来

Cache-Control: no-cache  
当 HTTP1.1 server指定 CacheControl = no-cache 时,浏览器就不
会缓存该网页

Connection: close/Keep-Alive   是否保持连接

Date: Tue, 11 Jul 2000 18:23:51 GMT   响应的时间



响应体:server给出的响应结果的主体,一般是用来在页面上显示的。

HTTP 内容类型:当前响应体的数据类型。

须要指出的是在浏览器和server之间传输的数据类型并不是都是文本类型。还包含图片、视频、音频等多媒体类型。这些多媒体类型是使用 MIME 类型定义的。MIME 的英文全称是"Multipurpose Internet Mail Extensions" 多功能 Internet 邮件扩充服务。MIME 类型的格式是“大类型/小类型” ,并与某一种文件的扩展名相相应。

常见的 MIME 类型。

文件  
MIME 类型

超文本标记语言文本   .html,.html text/html

普通文本   .txt text/plain

RTF 文本   .rtf application/rtf

GIF 图形   .gif image/gif

JPEG 图形   .jpeg,.jpg image/jpeg

au 声音文件   .au audio/basic

MIDI 音乐文件   mid,.midi audio/midi,audio/x-midi

RealAudio 音乐文件   .ra, .ram audio/x-pn-realaudio

MPEG 文件   .mpg,.mpeg video/mpeg

AVI 文件   .avi video/x-msvideo

GZIP 文件   .gz application/x-gzip

TAR 文件   .tar application/x-tar

HTTP 响应的更多相关文章

  1. 重温Http协议--请求报文和响应报文

    http协议是位于应用层的协议,我们在日常浏览网页比如在导航网站请求百度首页的时候,会先通过http协议把请求做一个类似于编码的工作,发送给百度的服务器,然后在百度服务器响应请求时把相应的内容再通过h ...

  2. 学习ASP.NET Core, 怎能不了解请求处理管道[3]: 自定义一个服务器感受一下管道是如何监听、接收和响应请求的

    我们在<服务器在管道中的"龙头"地位>中对ASP.NET Core默认提供的具有跨平台能力的KestrelServer进行了介绍,为了让读者朋友们对管道中的服务器具有更 ...

  3. WebApi接口 - 响应输出xml和json

    格式化数据这东西,主要看需要的运用场景,今天和大家分享的是webapi格式化数据,这里面的例子主要是输出json和xml的格式数据,测试用例很接近实际常用情况:希望大家喜欢,也希望各位多多扫码支持和点 ...

  4. 一些关于Linux入侵应急响应的碎碎念

    近半年做了很多应急响应项目,针对黑客入侵.但疲于没有时间来总结一些常用的东西,寄希望用这篇博文分享一些安全工程师在处理应急响应时常见的套路,因为方面众多可能有些杂碎. 个人认为入侵响应的核心无外乎四个 ...

  5. 一步步开发自己的博客 .NET版 剧终篇(6、响应式布局 和 自定义样式)

    前言 这次开发的博客主要功能或特点:    第一:可以兼容各终端,特别是手机端.    第二:到时会用到大量html5,炫啊.    第三:导入博客园的精华文章,并做分类.(不要封我)    第四:做 ...

  6. 修改Tomcat响应请求时返回的Server内容

    HTTP Server在响应请求时,会返回服务器的Server信息,比如 Tomcat 7 的Header是: 这东西其实会给一些别有用心之人带来一定的提示作用:为安全起见,我们一般会建议去掉或修改这 ...

  7. 给WinForm窗体添加快捷键 响应回车键、空格键

    1.设置窗体KeyPreview属性为True 2.添加窗体的KeyDown事件 /// <summary> /// 窗体的keydown事件响应 添加快捷键 /// </summa ...

  8. 父ListView嵌套子ListView时点击事件没有响应

    转发请备注出处:http://www.cnblogs.com/LT5505/p/5972999.html 问题: 在ListView中嵌套ListView之后,子ListView会把父ListView ...

  9. 网站就必须用响应式布局吗?MVC视图展现模式之移动布局

    本文先引入给读者一个自己研究的机会,下次深入说明一下: 废话不多说,直接上图 新建一个mvc的项目 在视图里面添加一个移动端视图 正常访问一下 Bootstrap自带的响应式的方式(页面代码并没有改变 ...

  10. ASP.NET Core真实管道详解[2]:Server是如何完成针对请求的监听、接收与响应的【上】

    Server是ASP .NET Core管道的第一个节点,负责完整请求的监听和接收,最终对请求的响应同样也由它完成.Server是我们对所有实现了IServer接口的所有类型以及对应对象的统称,如下面 ...

随机推荐

  1. 统一横轴墨卡托投影(UTM)

    UTM 坐标系统使用基于网格的方法表示坐标.UTM 系统将地球分为 60 个区,每一个区基于横轴墨卡托投影.画图法中的地图投影方法能够在平面中表示一个两维的曲面,比如一个标准地图.图 1 展示了一个横 ...

  2. android事件传递机制以及onInterceptTouchEvent()和onTouchEvent()详解二之小秘与领导的故事

    总结的不是很好,自己也有点看不懂,正好现在用到了,研究了一个,再次总结,方便大家查看 总则: 1.onInterceptTouchEvent中有个Intercept,这是什么意思呢?她叫拦截,你大概知 ...

  3. javascript笔记整理(对象遍历封装继承)

    一.javascript对象遍历 1.javascript属性访问 对象.属性名 对象['属性名'] var obj={name:'chen',red:function(){ alert(1);ret ...

  4. boost中asio网络库多线程并发处理实现,以及asio在多线程模型中线程的调度情况和线程安全。

    1.实现多线程方法: 其实就是多个线程同时调用io_service::run for (int i = 0; i != m_nThreads; ++i)        {            boo ...

  5. jquery-easyui界面皮肤设计

    发现easy-ui 没有皮肤切换功能 正好工作要用就做了个 分享给大家 暂时做了绿色.橘黄.灰黑.蓝色.红色这5种颜色,大家也可以参照的多做几套更漂亮一点的! demo.rar (932.1 KB)

  6. ajax终结篇

    Ajax中post和get的区别 在ajax中有这个方法 xmlreq.open("post","servlet/MyServlet?time="+newDat ...

  7. 服务确定撤销/删除/关闭 (ml81n)

    FUNCTION zrfc_mm006. *"---------------------------------------------------------------------- * ...

  8. boost::thread类

    前言 标准C++线程即将到来.预言它将衍生自Boost线程库,现在让我们探索一下Boost线程库. 几年前,用多线程执行程序还是一件非比寻常的事.然而今天互联网应用服务程序普遍使用多线程来提高与多客户 ...

  9. (5/9)*(f-32)与5*(f-32)/9

    今天在Linux下用c语言写个小程序玩玩,主要就是根据华氏温度计算摄氏温度.公式是:摄氏度=(5/9)*(华氏度-32) 代码很简单~ #include<stdio.h> main() { ...

  10. 四种方法解决DIV高度自适应问题

    本文和大家重点讨论一下解决DIV高度自适应的方法,这里主要从四个方面来向大家介绍,相信通过本文学习你对DIV高度自适应问题会有更加深刻的认识. DIV高度自适应 关于DIV高度的自适应,一直是个让人头 ...