HTTP协议分析系列(二)------HTTP请求信息和相应信息的格式

来源:互联网 发布:电脑网络号怎么算 编辑:程序博客网 时间:2024/06/08 16:55

一、请求的格式:

(一)、请求行

   (1)、请求方法

       1.GET

       2.POST

       3.PUT

       4.DELETE

       5.TRACE

       6.OPTIONS

   (2)、请求路径

   (3)、所用的协议

(二)、请求头信息

(三)、请求主体信息(可以没有)

(四)、头信息结束后和主体信息之间要空一行

二、发送示例

    问:浏览器能发送HTTP协议,HTTP协议一定要浏览器来发送吗?

   答:不是,HTTP既然是一种协议,name只要满足http协议,什么工具都可以发。

   例子:利用cmd命令窗口发送

   第一步:找到自己所在电脑的ip地址。

 

  第二步:telnet连接

 

  按ctrl+]键  回显功能

 

  按回车键

 

三、请求格式

   GET:请求方法method

   /http/test.PHP:请求的资源

   HTTP/1.1:请求所用的协议版本(1.0,0.9基本没人用)

   Host:localhost:请求头部信息

 

   头信息之后要有空行,因为头信息和主题信息(如果有),需要这个空行作区分

   即使没有主体信息,空行也不能少。

 

   另:头信息是非常丰富的,虽然我们图中只写了一个

 

  响应行:协议版本  状态码  状态文字

  相应头信息:

  Key:value

  Key:value

  Contente-length:接下来主题的长度

 

   hello

返回状态:


注意:所用的协议目前一般是HTTP/1.1,0.9,1.0已经基本不用。


四、用telnet进行POST提交

1.新建post.php页面

[php] view plain copy
  1. <?php  
  2.   
  3. $str=implode($_POST,"\n");  
  4.   
  5. file_put_contents('./post.txt');  
  6.   
  7. echo 'write ok';  
  8.   
  9. ?>  
2.发送http请求

主题信息


头信息里要标明主题的长度

POSTGET多了主体信息

但是服务器没有接到信息,因为POST时要告诉服务器

Content-type:application/x-www-form-urlencoded

0 0
原创粉丝点击