HTTP协议(一)基本概念、HTTP方法、HTTP状态码
1.HTTP是什么?

它的全名叫:HyperText Transfer Protocol ,中国名字:超文本传输协议 ;
它是可靠的数据传输协议,是Internet 的多媒体信使,即使数据相隔天涯海角,它也能确保数据准确、无误的传递给彼此,这有点像快递员的工作(不过快递员可能会损坏、遗失你的东西,HTTP不会);
每天有数以亿计的web浏览器通过它获取web服务器上的HTML页面、音/视频文件、JPG图片、java小程序...等等信息。
2.客户端和服务器

HTTP客户端:你每天都在使用的各种web浏览器(IE、Google Chrome、Firefox ...and so on)
Web服务器:它是web资源的宿主,所有的web资源(静态文件或生成动态资源的软件程序)都放在web服务器里
简单的交互过程:HTTP客户端向服务器发出请求,服务器在HTTP响应中回送被请求的数据
3.HTTP传输数据的媒体类型MIME
HTTP给每种传输对象都定义了一个MIME Type的格式标签(在HTTP信息头的Connect-type属性中定义:Connect-type:text/html),浏览器从服务器获取一个对象时,会检查相关的MIME类型,看看它是否知道如何去处理这个对象。
常见的MIME类型有数百种之多,大多数浏览器都支持处理这些对象类型。
以下列举几种MIME:
HTML文本文档:text/html
JPEG图片:image/jpeg
GIF图片:image/gif
js文件:application/x-javascript
更多MIME类型请参看:http://www.w3school.com.cn/media/media_mimeref.asp
4.URI、URL、URN
URI:Uniform Resource Identifier 统一资源标识符,它是web服务器资源的名字(就像你的邮寄地址一样,有了它,在全世界都能根据定位到你并确保信件能寄到你手中)
给定了web资源的URI,HTTP就可以定位到这个web资源并解析出对象。
URI有两种形式:URL和URN
URL:Uniform Resoure Locator 统一资源定位符,它是URI最常见的一种形式(目前大家接触到的URI基本都是URL形式吧),它描述了一个特定Web服务器上某一资源的特定位置
URL标准格式包含三个部分,以URL:http://www.cnblogs.com/wolfshining/p/7921999.html 为例:
第一部分:scheme 它说明了访问资源时使用的协议类型(通常就是HTTP协议http://)
第二部分:服务器地址或域名(www.cnblogs.com)
第三部分:路径,它指向某一特定资源(wolfshining/p/7921999.html)
URN:Uniform Resource Name 统一资源名,它是URI的第二种形式,通过URN可以将资源四处搬移(因为URN没有位置),还可以用同一个名字通过多种网络协议来访问资源,URN还处于实验阶段
下图显示HTTP客户端如何通过URL精确访问web服务器某特定资源的:

5.HTTP事务
一个HTTP事务由一条HTTP客户端发往web服务器的请求命令(方法)和一个从服务器返回给客户端的响应结果组成。
发送的请求或响应结果都是通过HTTP报文的格式进行的:

6.HTTP方法与状态码
HTTP请求命令也通常叫做HTTP方法(HTTP Method),每个HTTP请求报文里都包含一个Method,这个Method告诉浏览器需要执行什么操作(是获取一个静态文件,还是删除一个文件等等)
常见的HTTP Method包含下列五种:
| HTTP 方法 | 描述 |
| GET | 从服务器向客户端发送指定的资源 |
| PUT | 将客户端发来的数据存储到指定的资源中去 |
| DELETE | 从服务器中删除指定资源 |
| POST | 将客户端发来的数据发送到一个服务器网关应用程序 |
| HEAD | 仅发送指定资源响应中的HTTP首部 |
常见的HTTP状态码:
| HTTP状态码 | 描述 |
| 1XX | 指定客户端应相应的某些动作,代表请求已被接受,需要继续处理。由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送 1xx 响应。 |
| 2XX | 请求成功处理完毕。表示请求已成功,请求所希望的响应头或数据体将随此响应返回 |
| 3XX | 重定向,代表需要客户端采取进一步的操作才能完成请求,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的 Location 域中指明。这系列中最常见的有301、302状态码。 |
| 4XX | 客户端错误,表示请求错误。代表了客户端看起来可能发生了错误,妨碍了服务器的处理。常见有:401、404状态码。 |
| 5XX | 服务器错误,服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。常见有500、503、502状态码。 |
HTTP协议(一)基本概念、HTTP方法、HTTP状态码的更多相关文章
- HTTP/1.1标准请求方法和状态码
HTTP/1.1标准自从1999年制定以来至今仍然是一个应用广泛并且通行的标准 相关文档 RFC2616:Hypertext Transfer Protocol -- HTTP/1.1 在RFC658 ...
- HTTP协议----请求方法和状态码
现在广泛使用的是HTTP/1.1版本,发布于1997年. 理解HTTP协议,首先从请求开始,比如: POST /form/entry HTTP/1.1 格式为: 请求方法 URI 协议版本 请求方法: ...
- HTTP协议简介详解 HTTP协议发展 原理 请求方法 响应状态码 请求头 请求首部 java模拟浏览器客户端服务端
协议简介 协议,自然语言里面就是契约,也是双方或者多方经过协商达成的一致意见; 契约也即类似于合同,自然有甲方123...,乙方123...,哪些能做,哪些不能做; 通信协议,也即是双方通过网络通信必 ...
- 02 http协议之方法与状态码
一:HTTP请求信息和响应信息的格式 请求: ()请求行 ()请求头信息 ()请求主体信息(可以没有) () 头信息结束后和主体信息之间要空一行 请求行又分3部分 请求方法 请求路径 所用的协议 请求 ...
- HTTP协议中request报文请求方法和状态响应码
一个HTTP请求报文由4部分组成: 请求行(request line) 请求头部(header) 空行 请求数据 下图给出了请求报文的一般格式: 请求行中包括了请求方法,常见的请求方法有: GET:从 ...
- HTTP 基础(特性、请求方法、状态码、字段)
1. HTTP 简介(含义.特性.缺点) 2. HTTP 报文 3. GET 和 POST 4. 状态码 5. HTTP 头字段 1. HTTP 简介 HTTP 的含义 HTTP (HyperText ...
- (二)http请求方法和状态码
1.HTTP请求方法 根据 HTTP 标准,HTTP 请求可以使用多种请求方法. HTTP1.0 定义了三种请求方法: GET.POST 和 HEAD方法. HTTP1.1 新增了六种请求方法:OPT ...
- HTTP协议 -- 认清协议常用状态码
HTTP协议作为web服务的基础,理所应当受到重视,但是周围的同事能够讲清楚HTTP协议的凤毛麟角.既然是基础,就应该早一点掌握,所以近半年(2016-2月——2016年6月),不准备学习新技术了.首 ...
- HTTP协议 (六) 状态码详解
HTTP协议 (六) 状态码详解 HTTP状态码,我都是现查现用. 我以前记得几个常用的状态码,比如200,302,304,404, 503. 一般来说我也只需要了解这些常用的状态码就可以了. 如果 ...
随机推荐
- JSP概述、API、注释
JSP自带的API包含4个包,可通过Tomcat的官网查看,JSP和EL的API是分开的 javax.servlet.jsp // 包含用于Servlet/JSP容器将JSP页面翻译为Servlet的 ...
- How to execute sudo command in remote host via SSH
Question: I have an interactive shell script, that at one place needs to ssh to another machine (Ubu ...
- echart 3 数据密集时,断点不显示问题
如上图最开始标识的两点是不显示的,配置处理代码如下(series中配置symbolSize: 1,showAllSymbol: true): myChart.showLoading(); $.get( ...
- 使用 CXF 做 webservice 简单例子(转载)
使用 CXF 做 webservice 简单例子 Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构.它允许创建高性能和可扩展的服务,您可以将这 ...
- java15
1.数组 格式:数据类型 [ ] 数据名称 = new 数据类型 [ ] { }: 2.初始化 静态初始化(已知要开多少个房间来存储数据) int[ ] a =new int[ ] {12,32,54 ...
- 【linux轻松学】修改文件权限
用chmod修改文件权限,此命令非常重要. 用户范围:u 表示当前用户g 表示当前群组o 除u,g之外的用户和群组a 所有用户和群组 权限代号:r :读,用数字4表示w :写,用数字2表示x :执行, ...
- 关于syslog日志功能详解 事件日志分析、EventLog Analyzer
关于syslog日志功能详解 事件日志分析.EventLog Analyzer 一.日志管理 保障网络安全 Windows系统日志分析 Syslog日志分析 应用程序日志分析 Windows终端服务器 ...
- java.lang.ClassNotFoundException: org.apache.juli.logging.LogFactory的解决办法
Tomcat7早就出来正式版,但是一直都没有用过,尤其是针对于我还一直在用Myeclipse6.5的人来说,它在配置tomcat的时候没有tomcat7的选项,所以就报了错误信息. java.lang ...
- 以太坊虚拟机(EVM)
转载链接:https://ethfans.org/posts/solidity-chapter1-introduciton-to-smart-contracts 概括总览: 以太坊虚拟机(EVM)是以 ...
- HTTP文件上传服务器-支持超大文件HTTP断点续传的实现办法
最近由于笔者所在的研发集团产品需要,需要支持高性能的大文件http上传,并且要求支持http断点续传.笔者在以前的博客如何实现支持大文件的高性能HTTP文件上传服务器已经介绍了实现大文件上传的一些基本 ...