Django 用户认证 用户 邮箱登录 邮箱注册 ORM or,and,not form.py FORM ModelForm Paginator 分页 HTMl JQuery 定位元素 ajax django切片 restfulapi 跨域 Ubantu Python Mysql Scrapy 爬虫 导出 Python读写 Pycharm 破解 session re sqlit3 生成式 其他 Prism 富文本 CSS Nginx 部署 请求头 抓包 协议 selenium Ubuntu 宝塔 AI Comfy-ui ollama dify open-webui Git docker
请求报文和响应报文
张建行 2020年5月30日 20:24 43 文章标签: 请求头


# HTTP有两类报文:请求报文和响应报文。

# --------------------请求报文-----------------------------------------------
# 1.请求报文的组成结构(必须会):请求行+请求头+空行+请求数据

# 请求行的组成:请求行由请求方法 URL字段和HTTP协议版本3个字段组成。这三个字段之间用空格分隔。例如:GET /index.html HTTP/1.1

# 请求头:请求头由键值对组成,每一行一个键值对,请求头用来通知服务器关于客户端信息的。
'''
User-Agent:请求标识(浏览器标识)
HOST:请求的主机地址
Connection:客户端和服务器之间的连接状态
Accept:能识别的数据类型
Cookie:服务端给客户端返回的连接状态的标识
......................
'''
# 请求数据(请求体):客户端向服务器传递的一些数据


# -----------------------------响应报文-----------------------------------------
# 响应报文的组成结构(必会):状态行+响应头+空行+响应数据
# 1.状态行:HTTP版本+状态码+状态码解释短语  例如:HTTP/1.1 302  Moved Temporaily
# 2.响应头:响应头由键/值对组成,每行一对。响应头包含着向客户端反馈的信息。
'''
Set-Cookie:服务器向客户端返回的一个随机字符串,标记着服务器和客户端之间的连接状态
Content-Type:服务器返回的数据类型
Content-Length:服务器返回的数据长度
Server:服务类型
Expires:过期时间
'''
# 3.响应数据(响应体):存放的是服务器向客户端返回的数据


# 常用的请求方法(至少能说出5种,熟练掌握GET/POST)
# 1.GET(必须会):请求指定的页面信息,并返回实体主体。
# 2.HEAD:类似于get请求,只不过返回的响应中没有具体内容,用户获取报头
# 3.POST(必须会):向指定资源提交数据进行处理,数据被包含在请求体中
# 4.PUT:从客户端向服务器传输的数据取代指定的文档内容
# 5.Delete:请求服务器删除指定的页面
# 6.TRACE:回显服务器收到的请求,主要用于测试或者诊断。


# 常见的状态码:
# 1.100-199:表示服务器成功接收部分请求,要求客户端继续提交其余的请求才能完成整成处理过程。
# 2.200-299:表示服务器成功接收请求并已经完成整个过程的处理。常用的状态码200(请求成功)
# 3.300-399:为完成请求,客户端进一步细化请求。例如:请求的资源已经移动一个新的网址。常见的302(所请求的页面已经临时转移到新的地址)
# 4.400-409:客户端的请求由有错误,常见的404(服务器无法找到被请求的页面)403(服务器拒绝被访问)
# 5.500-599:服务器出现错误,常见500(请求未完成,服务器遇到不可预知的错误)