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

转载于:https://www.cnblogs.com/donizzh/p/4594921.html

HTTP协议--请求与响应相关推荐

  1. JavaWeb | HTTP 协议请求与响应格式

    一.HTTP 是什么 计算机网络核心概念:网络协议 网络协议种类非常多,其中一些耳熟能详的,IP,TCP,UD- 其中还有一个应用非常广泛的协议HTTP,HTTP 协议大概率是咱们日后开发中用的最多的 ...

  2. HTTP协议请求类型响应简介

    HTTP协议的8种请求类型介绍 GET: 请求指定的页面信息,并返回实体主体. HEAD: 只请求页面的首部. POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体. PUT: 从 ...

  3. 应用服务器与WSGI协议以及flask后端框架总结(后端接收请求返回响应的整个流程)...

    上次遗留了两个问题,先说一下自己的看法 问题: 1.明明一个线程只能处理一个请求,那么栈里的元素永远是在栈顶,那为什么需要用栈这个结构?用普通变量不行吗. 2._request_ctx_stack和_ ...

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

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

  5. 创建web服务器||HTTP协议的概念||报文||HTTP请求与响应处理——未完待续

    HTTP协议的概念 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)规定了如何从网站服务器传输超文本到本地浏览器, 它基于客户端服务器架构工作,是客户端( ...

  6. HTTP协议(5)HTTP请求和响应

    之前曾介绍过,所有的HTTP通信都被构造成一对HTTP请求和HTTP响应,HTTP协议的请求与响应报文都是由"首部header"和"主体body"两部分组成的. ...

  7. http协议下:为什么请求与响应会做到准确误的对应。不会出现请求与响应的错乱...

    互联网通信是套接字进行通信的,套接字,是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端点,简单的说就是通信的两方的一种约定,用套接字中的相关函数来完成通信过程. ...

  8. android http请求缓存,Android Http请求和响应使用协议缓冲区

    我对协议缓冲区主题非常陌生. 但我知道json解析等等 现在,我实际上正在此协议缓冲区上工作,我正在制作一个使用带有协议缓冲区的android进行Http请求和响应的应用程序. 我正在使用androi ...

  9. Http协议的请求和响应

    1.HTTP协议介绍 HTTP(HyperTextTransferProtocol):超文本传输协议. HTTP协议是基于TCP/IP协议的. 基于请求/响应模型的: 一次请求对应一次响应. 传输协议 ...

  10. web-http协议-请求协议-响应协议

    http概述 = 理解,什么是无状态的协议 通过抓包的方式,关注,请求的发生 = 重点,关注这样的词 请求,响应 请求协议 >看请求头 查看网络请求,详细了解内容 accept,接受 浏览器,告 ...

最新文章

  1. 你想知道的“ROC曲线”
  2. ble串口程序设计流程图_流程图程序设计的步骤
  3. HALCON识别数字ID
  4. Python-decorator装饰器小结
  5. Incorrect column count: expected 1, actual 5,JdbcTemplate queryForList 出错
  6. [ Android 五种数据存储方式之二 ] —— 文件存储数据
  7. c语言六套,C语言编程笔试题(第六套)
  8. 盗COOKIE之方法总结
  9. 告别花瓶:2015年智能电视路在何方?
  10. Teams Bot如何做全球化
  11. 一个文章表的 MySQL 索引怎么建立合理
  12. 如何入门 Python 爬虫?
  13. html图片上传阅览并且点击放大
  14. 全自动备份vss和sql数据库(含源码下载)
  15. numpy实用技巧(二)
  16. 飞机遭遇时空乱流离奇穿越到30年前
  17. 暗黑复制服务器物品,暗黑2战网环境下复制dupe物品装备
  18. 怎么用Goldwave剪辑音乐?GoldWave绿色汉化版使用教程分享
  19. Qt自定义对话框及调用方法
  20. 什么是SVG?及SVG引入方式

热门文章

  1. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-1.数据信息安全--微信授权一键登录功能介绍...
  2. [翻译]架构师应该知道的97件事_03关键问题可能不是出在技术上
  3. jQuery基础--选择器
  4. Linux 线程调度与优先级
  5. oracle之三 自动任务调度
  6. 编译Libgdiplus遇到的问题
  7. [LeetCode#81]Search in Rotated Sorted Array II
  8. namenode 无法启动之每次开机需要重新格式化-tmp
  9. .net(偏web) vs j2ee的一些框架选型
  10. 下载安装Redis+使用