HTTP协议:概括性知识

来源:互联网 发布:java面向过程实现加法 编辑:程序博客网 时间:2024/06/06 18:15

1.定义   HTTP: Hyper Text Transfer Protocol 超文本传输协议,用于从万维网服务器传输到超文本到本地浏览器的协议。


2.特点   

1简单快速 ,协议简单,通信速度快

2灵活,允许传输任意类型的数据对象 

3无连接,处理请求后断开连接 

4无状态,不保存前面的状态信息 

5支持B/S C/S 模式


3.URL 

URI:统一资源标识符,查找资源需要的信息

URL:统一资源定位符,是一种特殊的URI,互联网上用来标志资源的地址

一个完整的URL包含一下部分:

协议部分+域名部分+端口+虚拟目录+文件+参数


4:请求消息Request    组成 请求行+请求头部+空行+请求数据

1.请求行:说明请求类型,访问的资源,及HTTP版本

2.请求头部:附加的详细信息,HOST,User-Agent等

3.空行:请求头部后面必须有空行

4.请求数据:附带的主体,参数


5:响应消息Response   组成:状态行+消息报头+空行+响应正文

1.状态行:HTTP版本,状态码,状态消息

2.消息报头:附加信息 Date,content-type等

3.空行

4.响应正文:服务器返回给客户端的文本信息


6:状态码   三位数字,五种类别

1XX 指示信息-表示请求已接收,继续处理

2XX 成功-表示请求已成功接收,理解,处理

3XX 重定向-表示完成请求需要更进一步的操作

4XX 客户端错误-表示请求有语法错误或者请求无法实现

5XX 服务端错误-表示服务端发生了错误

常见状态码:

200 OK 客户端请求成功

304 未修改,服务器不返回任务资源,资源缓存在客户端

400 Bad Request 请求有语法错误

401 请求未经授权

403 Forbidden 服务器拒绝提供服务

404 Not Found 请求资源不存在,错误的URL

500 服务器发生不可预知的错误


7:HTTP请求方法

HTTP1.0:GET,POST,HEAD

HTTP1.1:

GET:请求指定的页面,返回实体主体

HEAD:获取报头

POST:向指定资源提交数据请求处理,建立新资源或修改资源

PUT:取代指定的文档内容

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

OPTION :查看服务器的性能

TRACE:测试或诊断服务器


8:GET和POST的区别

1.请求的数据:GET附在URL之后,POST放在HTTP的包体中,不在地址栏显示出来

2.传输数据的大小:HTTP协议没有对数据的大小限制,也没有限制URL的长度

实际中,受到浏览器和服务器的URL长度的限制,GET会收到URL长度的限制

POST理论上不受限制,但是会被服务器各自的配置限制

3.安全性:POST较GET高。提交数据出现在URL上