大家好,我是鸭鸭。
最近在网上冲浪的时候刷到这样一篇帖子:“这公司真的有人去吗?”定睛一看,招聘需求是这样写的:
好家伙,这是从 JD 就开始 pua 了。仔细看了下,可能是行情原因吧,这年头各种奇葩的招聘要求还真不少。
有直接开口要付费上班的:
要不然就是狮子大张口,对候选人要求高到感觉薪资少打了两个0。
当然还有一些专门玩抽象的,对属相、星座、血型等和工作毫不相关的点都有特殊要求,比如这种:
你在找工作的过程中都遇到过什么样的奇葩要求?欢迎评论区分享,大家一起吐槽。
……
奇葩年年有,只是可能今年特别多。这些招聘要求也就看个乐子,真找工作还得认真起来,该努力还得努力。
今天这道经典面试题,你能答出来吗?
HTTP 请求包含哪些内容,请求头和请求体有哪些类型?
重点回答
HTTP 请求由以下几部分组成:
- 请求行(Request Line):包含请求方法(如GET、POST)、请求的资源路径(如
/index.html
)、以及HTTP协议版本(如HTTP/1.1)。 - 请求头(Request Headers):包含各种键值对,用于传递客户端环境、请求内容、认证信息等。
- 空行(Blank Line):用于分隔请求头和请求体。
- 请求体(Request Body):仅在POST、PUT等方法中存在,包含需要发送到服务器的数据。
常见的请求头类型:
- 通用头部(General Headers):适用于请求和响应,如
Cache-Control
、Connection
等。 - 请求头部(Request Headers):特定于请求的头部,如
Host
、User-Agent
、Accept
、Authorization
等。 - 实体头部(Entity Headers):描述请求体的头部,如
Content-Type
、Content-Length
。
请求体的类型:
- 表单数据(Form Data):
application/x-www-form-urlencoded
,用于提交表单数据。 - 多部分数据(Multipart Data):
multipart/form-data
,用于上传文件或复杂表单数据。 - JSON数据:
application/json
,用于提交JSON格式的数据。 - XML数据:
application/xml
,用于提交XML格式的数据。 - 文本数据:
text/plain
,用于提交纯文本数据。
扩展知识
1. 请求方法
- GET:请求指定的资源,通常用于获取数据,不包含请求体。
- POST:向服务器提交数据,通常用于表单提交,数据在请求体中。
- PUT:用于更新资源,数据也在请求体中。
- DELETE:请求删除指定资源。
2. 请求头部
Host
:指定请求的主机名及端口,HTTP/1.1中必须包含。User-Agent
:标识客户端信息,通常用于服务器端的统计和个性化服务。Accept
:指定客户端可接受的媒体类型,服务器可以根据此头部返回合适的内容。Authorization
:用于身份验证,包含凭证信息,如Basic
或Bearer
token。
3. 请求体
application/x-www-form-urlencoded
:键值对形式的表单数据,通常用在简单表单提交。multipart/form-data
:处理复杂表单,包括文件上传,内容按边界分割。- 自定义数据格式:根据API需求,可能需要提交XML、JSON、甚至是二进制数据。不同的
Content-Type
可以标识数据格式。
4. 性能与安全
- 缓存机制:通过
Cache-Control
和ETag
等头部,客户端和服务器可以有效管理缓存,减少不必要的请求。 - 压缩:
Content-Encoding
头部可以指定压缩方式,如gzip
,以减少数据传输量。 - 安全性:
Authorization
和Cookie
等头部涉及身份验证和会话管理,应注意保护敏感信息,防止中间人攻击等安全威胁。
鸭鸭现在做的面试刷题神器面试鸭 ,已经6000题了!欢迎大家来刷题!
我是鸭鸭,我们下期见!