http 请求和响应

http请求:

1. 请求行

实例:GET /0606/01.php HTTP/1.1

请求行分为三部分:请求方法、请求路径、所用协议

请求方法:GET、POST、HEAD、PUT(传输文件)、DELETE、TRACE、OPTIONS

注意:这些请求方法虽然HTTP协议里规定,但web server 未必支持或允许这些方法。

  • POST比GET多了主体信息,所以需要在头信息中标明主体的长度(content-length)
    POST时还要告诉服务器,数据类型content-type:application/x-www-urlencoded

  • HEAD和GET基本一致,只是不返回内容比如我们只是确认一个内容还正常存在,不需要返回具体内容,使用HEAD比较合适。

  • TRACE:用代理上网时,想看看代理有没有修改你的HTTP请求,可以用TRACE来测试,服务器就会把最后的请求返回

  • OPTIONS:返回服务器可用的请求方法

请求路径: /0606/01.php

协议:HTTP/1.1

2. 请求头信息

格式为key:value

请求头信息结束后,有一个空行

头信息和主体信息之间需要空行做区分;

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

3. 请求主体信息(可选):发送的内容

请求 实例:
POST /0606/02.php HTTP/1.1
Host:localhost
Content-type:application/x-www-urlencoded
Content-length:5
空行
age=3

http响应

1. 响应行

实例:HTTP/1.1 200 OK

协议版本、状态码(200、404、304)、状态文字(用来描述状态码,便于观察)

常用状态码:

  • 200 - 服务器成功返回网页

  • 301/302 重定向(默认302,301需在代码中指定)

  • 304 Not Modified 未修改(读取客户端缓存信息时,返回304)

  • 307 重定向中保持原有的请求数据(方法),POST请求时,使用307重定向到另一个目录时,保持POST方法(301/302则会变为默认的GET方法)

  • 404 - 请求网页不存在

  • 503 - 服务器暂时不可用

  • 500 - 服务器内部错误

2. 响应头信息

格式为key:value

Content-length:接下来主体的长度

空一行,显示响应主体

3. 响应主体(可没有)

响应 实例:
HTTP/1.1 200 OK
Content-type:text html
Content-length:5
空行
hello

你可能感兴趣的:(http 请求和响应)