最近在网上冲浪的时候刷到这样一篇帖子:
“这公司真的有人去吗?
”定睛一看,招聘需求是这样写的:
好家伙,这是从 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
:向服务器提交数据,通常用于表单提交,数据在请求体中。
-
-
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
等头部涉及身份验证和会话管理,应注意保护敏感信息,防止中间人攻击等安全威胁。
再来推荐下
我们的面试刷题网站和小程序:面试鸭!