一、http请求
http请求基本格式
===================================================
<request line> 请求行
<headers> 请求头(參数头)
<blank line> 空白行
[<request-body>] 请求实体(get没有 post有)
======================================
1.1 请求行:
位于请求消息的第一行
格式:请求方式 资源路径 HTTP版本号号<CRLF回车换行空格制表符>
经常使用请求方式:get和post方式
get与post差别:
(1) 在client。get方式在通过URL提交数据。数据在URL中能够看到;post方式。数据放置在HTML HEADER内提交。
(2) get方式提交的数据最多仅仅能有1k。而POST则没有此限制。
(3)安全性问题。
使用 get的时候。參数会显示在地址栏上,不安全,而 post不显示,安全。假设这些数据是中文数据并且是非敏感数据,那么使用 get;假设用户输入的数据不是中文字符并且包括敏感数据,那么还是使用 post为好。
(4)幂等性
1.2 參数头:从第二行開始到第一个空行。
作用:向server传递client的一些基本信息
http响应基本格式
===================================================
<status line> 状态行
<headers> 响应头
[<request-body>] 响应实体
======================================
唯一真正的差别在于第一行中用状态行取代了请求行。状态行(status line)通过提供一个状态码来说明所请求的资源情况。
状态码 | 含义 |
100~199 | 表示成功接收请求,要求client继续提交下一次请求才干完毕整个处理过程 |
200~299 | 表示成功接收请求并已完毕整个处理过程 |
300~399 | 为完毕请求,客户需进一步细化请求。 比如,请求的资源已经移动一个新地址 |
400~499 | client的请求有错误 |
500~599 | server端出现错误 |
经常使用状态码:
200(正常):表示一切正常,返回的是正常请求结果
302/307(暂时重定向):指出被请求的文档已被暂时移动到别处,此文档的新的URL在Location响应头中给出。
304(未改动):表示客户机缓存的版本号是最新的。客户机能够继续使用它。无需到server请求。
404(找不到):server上不存在客户机所请求的资源。
500(server内部错误):server端的程序错误发生