http协议详解

来源:互联网 发布:数据采集仪 编辑:程序博客网 时间:2024/06/04 17:29

引言

Http是一个属于应用层的面向对象的协议。

主要特点:

1、支持客户、服务器模式

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

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

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

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


一、HTTP协议之URL

http://host[":"port][abs_path]
http表示要通过HTTP协议来定位网络资源;host表示合法的Internet主机域名或者IP地址;port指定一个端口号,为空则使用缺省端口80;abs_path指定请求资源的URI;如果URL中没有给出abs_path,那么当它作为请求URI时,必须以“/”的形式给出,通常这个工作浏览器自动帮我们完成。


二、HTTP协议之请求

http请求由三部分组成,分别是请求行、消息报头、请求正文

请求方法(所有方法全为大写):

GET       请求指定的页面信息,并返回实体主体

HEAD      类似于get请求,只不过返回的相应中没有具体的内容,用于获取报头

POST      向指定资源提交数据进行处理请求

PUT       从客户端向服务器传送的数据取代指定的文档的内容

DELETE    请求服务器删除指定的页面

CONNECT   HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器

OPTIONS   允许客户端查看服务器的性能

TRACE     回显服务器接手到的请求,主要用于测试或诊断  


三、HTTP协议之相应

在接受和解释请求消息后,服务器返回一个HTTP响应消息。响应也是由三个部分组成,状态行、消息报头、响应正文。

状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求
常见状态代码、状态描述、说明:
200 OK      //客户端请求成功
400 Bad Request  //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用 
403 Forbidden  //服务器收到请求,但是拒绝提供服务
404 Not Found  //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable  //服务器当前不能处理客户端的请求,一段时间后可能恢复正常


四、HTTP协议之消息报头

HTTP消息由客户端到服务器的请求和服务器到客户端的响应组成,HTTP消息报头包括普通报头、请求报头、响应报头、实体报头

原创粉丝点击