HTTP协议介绍

HTTP协议介绍

超文本传输协议

规定了浏览器与服务器之间数据传输的格式

1、四大特性:

1 基于请求响应 (一次请求对应一次响应)

2 基于TCP/IP 作用于应用层之上的协议

3 无状态保存 (不保留客户端的状态,cookie,session,token)

4 无链接,发送一次请求,响应完就断开,性能影响(http 版本区别)

2、数据格式

HTTP请求格式包含三个部分

请求首行: 请求方式+url字段+协议版本 ( method + request-URI + HTTP-version )

请求头:一大堆的k,v键值对(Accept, User-Agent, host, connection, Cookie, Referer 等)

请求体:携带的数据(并不是一直都有,有时候可能是空的,取决于你的请求方式)

urlencode:name=kai&age=18 ---> request.POST

json:{name:kai,age:18} ---> request.POST取不出来(为什么?django框架没有做这个事)

formdata:传文件 ---> request.POST

HTTP响应格式包含三个部分

响应首行:响应状态码(HTTP-Version+Status-Code+Reason-Phrase ,比如:HTTP/1.1 200 ok)

响应头:一大堆k, v键值对(服务器类型, 日期, 长度, 内容类型,cookie等)

响应体:浏览器展示给你看的数据(HTML页面,json)

3、响应状态码

用数字来表示一大堆提示信息

1xx 服务端已经成功接收到客户端的数据正在处理, 你可以继续提交

2xx 200 请求成功,服务器已经返回了你想要的数据

3xx 重定向,访问页面时,会重定向至新的url

4xx 403你当前没有权限访问该数据,404请求资源不存在

5xx 服务器内部错误(宕机等)

原文地址:https://www.cnblogs.com/kai-/p/12098405.html