Http协议的流程以及相关内容(1.0与1.1的区别)

来源:互联网 发布:windows.old 1 删不掉 编辑:程序博客网 时间:2024/06/07 04:50
一、Http协议的内容
Http是一个基于 请求/响应 模式的,无状态的协议
( request / response  based , stateless protocol )

1.通信过程(Browser<--->Server)
(1.0)
 -客户发起连接
 -客户发送请求
 -服务器响应请求
 -服务器关闭连接
(1.1)
(Browser<--->Server)
 ---建立连接-->
 -发出第一次请求->
    --------
 -发出第 n 次请求->
  <-回送第一次请求-
    --------
  <-回送第 n 次请求-
 -发出关闭连接请求->
  <--关闭连接---

2.http 1.0 / 1.1
1.0 每次建立连接前需要先建立一次空连接
1.1(持续连接) 每次建立连接都不需要先建立一次空连接


二、Http URL
格式:http:// host [ : port ] [ abs_path ]
-host表示合法的internet主机域名或ip地址
-port用于指定一个端口号,拥有被请求资源的服务器主机监
   听该端口的TCP连接。如果是空,则使用缺省80
-abs_path指定请求资源的URI ( Uniform Resource Identifier, 统一资源标志符 )


URI 纯粹是一个符号结构,用于指定构成Web资源的字符串的各个不同部分
URL是一种特殊类型的URI,它包含了用于查找们某个资源的足够的信息。


三、Http请求和响应
客户端通过发送HTTP请求向服务器请求对资源的访问

1)HTTP请求由三部分组成,
分别是: 请求行 
消息报头
请求征文

请求行 
Method  Reauest-URI  HTTP-Version  CRLF
Method:表示请求的方法,Request-URI是一个统一资源标识符,
标识了要请求的资源,CRLF表示回车换行
-GET / test.html HTTP / 1.1
 GET  POST  HEAD 三种方法

2)HTTP响应
三个部分:状态行,消息报头,响应正文
格式: HTTP-Version  Status-Code  Reason-Phrase  CRLF
HTTP-Version:表示服务器HTTP协议的版本
Status-Code:表示服务器发回的响应代码
Reason-Phrase:表示状态代码的文本描述
CRLF:表示回车换行
例:Http/1.1 200 OK CRLF

状态代码:1xx:指示信息-表示请求已接受,继续处理
2xx:成功-表示请求已经被成功接收,理解,接受
3xx:重定向-要完成请求必须进行更进一步的操作
4xx:客户端错误-请求由语法错误或请求无法实现
5xx:服务器端错误-服务器未能实现合法的请求

四、消息发送(使用cmd下的talnet测试)

打开cmd,输入以下信息

Telent 域名 / ip地址 [ 空格 ] 端口号 + 一个回车


连接完成后输入Http协议的获取指令
1)使用GET格式
GET /页面名称.后缀 HTTP/1.1
HOST: 域名 / ip地址
Connection:Keep-Alive [或者close]( 设置持续连接[立即关闭] )
【两个回车结束提交】

2)使用POST方式
POST /页面名称.后缀 HTTP/1.1
HOST: 域名/ip地址
Connection:Keep-Alive
【一个回车换行】
参数名=参数值&参数名=参数值&......
【回车提交】

在请求的命令中含有更多的配置参数:详细请看这位同志的总结:
http://blog.csdn.net/zhaoneiep/article/details/5487133

0 0
原创粉丝点击