06.HTTP协议(超详细!!!)

1、HTTP协议介绍

HTTP(HyperText Transfer Protocol,超文本传输协议):是互连网上应用最广泛的一种网络协议,是以ASCII码传输,建立在TCP/IP协议之上的应用层规范。是通过客户端发送一条请求消息,而后由服务器返回一条相应信息。

2、HTTP请求消息

客户端请求包括:请求行、请求头和请求体
① 请求行:由请求方法、URL和协议版本组成
② 请求头部:按照头部字段名、字段值的形式表示
③ 请求空行
④ 请求体(请求数据):表示要发送给服务端的数据。

在这里插入图片描述

2.1 请求行

请求方法描述
GET请求指定页面信息,并返回实体主体
POST向指定资源提交数据进行处理请求(提交表单、 上传文件),又可能导致新的资源的建立或原有资源的修改
OPTIONS返回服务器针对特定资源所支持的HTML请求方法或web服务器发送测试服务器功能(允许客户端查看服务器性能)
PUT返回服务器针对特定资源所支持的HTML请求方法或web服务器发送测试服务器功能(允许客户端查看服务器性能)
HEAD与服务器索与get请求一致的相应,响应体不会返回,获取包含在小消息头中的原信息(与get请求类似,返回的响应中没有具体内容,用于获取报 头)
DELETE请求服务器删除request-URL所标示的资源(请求 服务器删除页面)
TRACE回显服务器收到的请求,用于测试和诊断
CONNECTHTTP/1.1协议中能够将连接改为管道方式的代理 服务器

2.2 请求头

头部字段描述
Host指定请求的服务器的域名和端口号
Content-Length请求内容长度
Accept指定客户端能够接收的内容类型
X-Forwarded-For用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段
User-Agent包含发出请求的用户信息
Content-Type请求的与实体对应的MIME信息
Origin指明当前请求来自于哪个站点
Referer当前请求的网页
Accept-Language浏览器可接受的语言
Accept-Encoding指定浏览器可支持的web服务器返回内容压缩编码的类型
CookieHTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器
Connection表示是否需要持久连接

2.3 GET和POST

GET方法:请求的参数附加在URL中,意味着它们对用户和任何查看URL的人都是可见的。由于URL长度限制,数据量通常较小

POST:请求的参数包含在请求体中,不会显示在URL中,因此对于用户和其它旁观者来说不可见。不受URL长度限制,可以大量传输数据

3、HTTP响应消息

服务端响应包括:状态码、响应头部、响应空行、响应正文

在这里插入图片描述

3.1 状态行

状态含义
1XX提示信息,表示目前是协议处理的中间状态, 还有后续操作
200 OK客户端请求成功
302 Found服务器目前从不同位置的网页响应请求(url跳转)
400 Bad Request客户端请求有语法错误,不能被服务器所理解
401 Unauthorized未授权 请求要求身份验证。对于需要登陆的网页,服务器可能返回此响应
403 Forbidden服务器收到请求,但是拒绝提供服务
404 Not Found请求资源不存在
500 Internal Server Error服务器发生不可预期的错误
503 Server Unavailable服务器目前无法使用(由于超载或者停机维护)

3.2 响应头部

Header头部解释
Data原始服务器消息发出的时间
Serverweb服务器软件名称
Content-Type返回内容的MIME类型
Set-Cookie设置和页面关联的Cookie
Content-Length响应体的长度
ETag请求变量的实体标签的当前值,用于标识出资源的状态
refresh表示浏览器应该在多少时间之后刷新文档,以秒计
WWW-Authenticate表明客户端请求实体应该使用的授权方案
Allow服务器支持哪些请求方法
Content-Type返回内容的MIME类型
Location用来重定向接收方到非请求URL的位置来完成请求或标识新的资源
  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值