1、简介

HTTP 是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990 年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW 中使用的是HTTP/1.0的第六版,HTTP/1.1 的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。

HTTP 协议的主要特点可概括如下:

1.支持客户/服务器模式。

2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP 协议简单,使得HTTP 服务器的程序规模小,因而通信速度很快。

3.灵活:HTTP 允许传输任意类型的数据对象。正在传输的类型由Content-Type 加以标记。

4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

5.无状态:HTTP 协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

2、HTTP请求与响应

2.1 HTTP请求--方法

GET

请求获取由Request-URI所表示的资源

POST

在Request-URI所标识的资源后附加新的数据

HEAD

请求获取由Request-URI所标识的资源的响应消息报头

PUT

请求服务器存储一个资源,并用Request-URI作为其标识

DELETE

请求服务器删除由Request-URI所标识的资源

TRACE

请求服务器回送收到的请求信息,主要用于测试或诊断

2.2 HTTP请求--常见响应码

状态码

描述

客户端请求成功

200

OK

客户端请求成功

206

Partial content

返回请求实体的部分内容

301

Moved Permanently

目标永久移动

302

found

找到目标(目标临时被移动)

304

Not Modified

目标没有修改

400

Bad Request

客户端请求有语法错误,不能被服务器所理解

403

Forbidden

服务器收到请求,但是拒绝提供服务

404

Not Found

请求资源不存在

413

Request Entity Too Large

请求实体太大

500

Internal Server Error

服务器发生不可预测的错误,导致无法完成客户端的请求

502

Bad Gateway

网关错误,有可能是网络不通或负载过大导致。

504

Gateway Timeout

连接超时

3、常见HTTP头域

[plain] view plaincopy

  1. Accept       (标识浏览器能够接受的实体类型)
  2. Accept-Charset /Accept-Language   (字符集和语言)
  3. Accept-Encoding  (接受编码格式 gzip或者 deflat)
  4. Cache-Control ( 缓存策略。例如:Cache-Control: no-cache )
  5. Pragma             ( 标注。例如:Pragma: no-cache )
  6. Connection       ( 连接参数。例如:Connection: close )
  7. Date                  (日期。 例如:Date:Mon,31Dec200104:25:57GMT)
  8. Content-Type    (标识实体类型。例如:Content-Type: text/html。  Mime.types文件例子 )
  9. Transfer-Encoding  (传输编码。Chunk )
  10. Content-Length       (实体长度)
  11. Set-Cookie / Cookie
  12. User-Agent       (浏览器标识)
  13. Host                  (目标主机)
  14. Expires
  15. Last-Modified
  16. Range/Content-Range
  17. Content-Disposition
  18. Referer              (引用,通常是上一个访问的URL)

4、HTTP协议的格式和结构---例子

[plain] view plaincopy

  1. GET /index.shtml HTTP/1.1
  2. Host: www.google.com
  3. User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
  4. Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
  5. Accept-Language: zh-cn,zh;q=0.5
  6. Accept-Encoding: gzip,deflate
  7. Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7
  8. Keep-Alive: 300
  9. Connection: keep-alive
  10. HTTP/1.x 200 OK
  11. Date: Tue, 10 Feb 2009 08:26:37 GMT
  12. Server: Apache/2.2.8 (Unix) PHP/5.2.6
  13. Accept-Ranges: bytes
  14. Keep-Alive: timeout=5, max=99
  15. Connection: Keep-Alive
  16. Transfer-Encoding: chunked
  17. Content-Type: text/html; Charset=utf-8

HTTP协议--请求与响应的更多相关文章

  1. HTTP协议——请求与响应

    摘要:1.HTTPHTTP:HyperTextTransferProtocol,超文本传输协议的缩写,是本地浏览器和服务器之间进行通信的传送协议.基于TCP/IP协议来传送数据,如HTML文件,图片等 ...

  2. javaweb(四)——Http协议(请求头,响应头详解)

    一.什么是HTTP协议 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的 ...

  3. Web协议详解与抓包实战:HTTP1协议-请求与响应的上下文(7)

    一.请求的上下文: User-Agent 指明客户端的类型信息,服务器可以据此对资源的表述做抉择 二.请求的上下文: Referer 浏览器对来自某一页面的请求自动添加的头部 截图2 这对于我们的防盗 ...

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

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

  5. http协议(二)请求和响应报文的构成

    http协议用于客户端和服务器之间的通信,请求访问资源的一方称为客户端,而提供资源响应的一方称为服务器端. 下面就是客户端和服务端之间简单的通信过程 PS:请求必须从客户端建立通信,服务端没收到请求之 ...

  6. 老李分享:HTTP协议之请求和响应

    老李分享:HTTP协议之请求和响应   HTTP请求头详解: GET http://www.foo.com/ HTTP/1.1 GET是请求方式,请求方式有GET/POST http://www.fo ...

  7. 【渗透课程】第二篇下-HTTP协议的请求与响应深度剖析

    [渗透课程]第二篇下-HTTP协议的请求与响应深度剖析 HTTP1.1目前支持以下7种请求方法: 常见的MIME类型如下: 第一个数字有五种可能的取值: 目录 什么是请求方法?什么是请求头? HTTP ...

  8. HTTP协议简介详解 HTTP协议发展 原理 请求方法 响应状态码 请求头 请求首部 java模拟浏览器客户端服务端

    协议简介 协议,自然语言里面就是契约,也是双方或者多方经过协商达成的一致意见; 契约也即类似于合同,自然有甲方123...,乙方123...,哪些能做,哪些不能做; 通信协议,也即是双方通过网络通信必 ...

  9. Http协议请求头、响应头、响应码

    Http部分请求头 Accept 客户机通过这个头,告诉服务器,它支持哪些数据类型 Accept-Charset 客户机通过这个头,告诉服务器,它支持的编码 Accept-Encoding 客户机通过 ...

  10. 001-http协议-请求报文以及服务器响应状态

    Http协议的几个概念: 1.连接(Connection):浏览器和服务器之间传输数据的通道. 一般请求完毕就关闭,http不保持连接.不保持连接会降低处理速度(因为建立连接速度很慢),保持连接的话就 ...

随机推荐

  1. bzoj千题计划117:bzoj1026: [SCOI2009]windy数

    http://www.lydsy.com/JudgeOnline/problem.php?id=1026 数位DP 如果前一位填的是0, 0是前导0,下一位可以随便填 0不是前导0,下一位不能填1 为 ...

  2. 并查集:POJ No1703 Find them, Catch them

    题目链接:http://poj.org/problem?id=1703 题意:两个坏蛋属于不同的组织,给出两个坏蛋判定是否一个组织. 题解:已知每次输入的两个帮派人员 x, y; 合并 (x, y + ...

  3. WCF: Retry when service is in fault state.

    Service Host: using System; using System.Configuration; using System.ServiceModel; using System.Serv ...

  4. php检测文件编码方法[非完美]

    关于文件编码的检测,百度一下一大把都是,但是确实没有能用的. 很多人建议 mb_detect_encoding 检测,可是不知为何我这不成功,什么都没输出. 看到有人写了个增强版,用 BOM 判断的, ...

  5. soj1049.Mondriaan

    1049. Mondriaan Constraints Time Limit: 1 secs, Memory Limit: 32 MB Description Squares and rectangl ...

  6. mysql 距离函数

    要有超级权限 SET GLOBAL log_bin_trust_function_creators = 1;DELIMITER $$CREATE DEFINER=`root`@`localhost` ...

  7. Uva 11549 - Calculator Conundrum 找规律加map

    题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  8. TI的H264 SOC方案

    TI的H264 SOC方案是目前常用的视讯解决方案,TI针对视频会议,视频监控,视频存储等场景细化需求并优化了H264技术. 1. TI H.264背景 如今视频压缩技术在视频领域有非常多的应用需求. ...

  9. 33、Map简介

    Map接口概述 除了Collection之外,常用的集合还有Map接口,里面常用的实现类图如下: map中的元素是以键-值的方式存在的,通过键可以获取到值,键是不可以重复的,跟地图比较像,通过一个坐标 ...

  10. 关于禁用"请停用以开发者模式运行的扩展程序"提示

    有兴趣研究谷歌浏览器扩展开发,但每次开启高版本chrome都会有烦人的提示 因为我用的360急速,目前还有提示,但使用原生chrome连插件都给删了,无语