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. QLinkedList和std::forward_list(都是双向链表,不支持operator[],好处可能是插入和删除都比较快)

    forward_list forward_list是C++11版本才有的.forward_list被实现为单链表,而list是一个双向链表,所以forward_list要比list高效一些.forwa ...

  2. Linux中处理需要传输的IP报文流程

    本文主要讲解了Linux中处理需要传输的IP报文流程,使用的内核的版本是2.6.32.27 为了方便理解,本文采用整体流程图加伪代码的方式对Linux中处理需要传输的IP报文流程进行了讲解,希望可以对 ...

  3. 西门子PLC学习笔记七-(位逻辑指令)

    位逻辑指令处理的对象为二进制位信号.存储在状态字"RLO"中. 1.触点与线圈指令 1)常开触点 在PLC中规定:操作数为1,则常开触点"动作(闭合)":操作数 ...

  4. javax.servlet.http.HttpServletRequest;

    错误提示是没有引入javax.servlet.http.HttpServletRequest所在的包,编译错误. 这么添加: 项目-->右键-->properties-->java ...

  5. 基于visual Studio2013解决C语言竞赛题之1040因数分解

     题目 解决代码及点评 /* 将一个数M分解为质因数(M≠0). */ #include <stdio.h> #include <stdlib.h> void main() ...

  6. C++ 中使用boost::property_tree读取解析ini文件

    boost 官网 http://www.boost.org/ 下载页面 http://sourceforge.net/projects/boost/files/boost/1.53.0/ 我下载的是  ...

  7. duck

    http://bjdw.artgooo.com/event/rubber/duck.shtml

  8. ibatis通过Map封装参数调用存储过程

    一.存储过程如下(领导写的) CREATE OR REPLACE PROCEDURE agent_UIMOrIMEICheck_pro ( I_CARD_NO IN VARCHAR2, --UIM卡或 ...

  9. Adrnoid开发系列(二十五):使用AlertDialog创建各种类型的对话框

    AlertDialog能够生成各种内容的对话框.可是每种对话框都会有这样的的结构: 类似下边这样的的: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTA ...

  10. 生成awr报告

    主要参考文献: http://343766868.blog.163.com/blog/static/48314056201110124513396/ 概况 Oracle内部以一定的频率把系统关键的统计 ...