首页 > 代码库 > http请求(get 和 post 请求)与响应

http请求(get 和 post 请求)与响应

一、http请求

http请求基本格式

===================================================

<request line> 请求行

<headers>  请求头(参数头)

<blank line>   空白行

[<request-body>]  请求实体(get没有  post有)

======================================

1.1 请求行:

位于请求消息的第一行

格式:请求方式 资源路径 HTTP版本号<CRLF回车换行空格制表符>

常用请求方式:get和post方式

get与post区别:

(1)   在客户端,get方式在通过URL提交数据,数据URL中可以看到;post方式,数据放置在HTML HEADER内提交。

(2) get方式提交的数据最多只能有1k,而POST则没有此限制。

(3)安全性问题。使用 get的时候,参数会显示在地址栏上,不安全,而 post不显示,安全。如果这些数据是中文数据而且是非敏感数据,那么使用 get;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用 post为好。

(4)幂等性   

1.2 参数头:从第二行开始到第一个空行。作用:向服务器传递客户端的一些基本信息


二、http响应

http响应基本格式

===================================================

<status line> 状态行

<headers>  响应头

[<request-body>]  响应实体

======================================

唯一真正的区别在于第一行中用状态行代替了请求行。状态行status line)通过提供一个状态码来说明所请求的资源情况。


状态码含义
100~199表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程
200~299表示成功接收请求并已完成整个处理过程
300~399为完成请求,客户需进一步细化请求。例如,请求的资源已经移动一个新地址
400~499客户端的请求有错误
500~599服务器端出现错误


常用状态码:
200(正常):表示一切正常,返回的是正常请求结果


302/307(临时重定向):指出被请求的文档已被临时移动到别处,此文档的新的URL在Location响应头中给出。


304(未修改):表示客户机缓存的版本是最新的,客户机可以继续使用它,无需到服务器请求。


404(找不到):服务器上不存在客户机所请求的资源。


500(服务器内部错误):服务器端的程序发生错误