HTTP协议经典面试题整理及答案详解

HTTP常见的请求方法有哪些?

| 方法 | 描述 | 是否包含主体 |

| :-: | :-- | :-: |

| GET | 从服务端获取指定信息 | |

| POST | 向服务端发送待处理的数据 | |

| HEAD | 从服务端获取指定信息的头部 | 否 |

| PUT | 向服务端发送数据并替换服务端上指定的数据 | 是 |

| OPTIONS | 查询针对请求URL指定的资源支持 | 否 |

| DELETE | 从服务端删除指定数据 | 否 |

| TRACE | 沿着目标资源的路径执行消息环回测试 | 否 |

HTTP的状态码分为哪几类?

| 整体范围 | 已定义范围 | 分类 |

| :-: | :-: | :-: |

| 100~199 | 100~101 | 信息提示 |

| 200~299 | 100~206 | 成功 |

| 300~399 | 300~305 | 重定向 |

| 400~499 | 400~415 | 客户端错误 |

| 500~599 | 500~505 | 服务端错误 |

HTTP常见的状态码有哪些?

| 状态码 | 原因短语 | 含义 |

| :-: | :-: | :-- |

| 100 | Continue | 说明收到了请求的初始部分,请客户端继续。 |

| 101 | Switching Protocols | 说明服务端正在根据客户端的指定,将协议切换成Update头部所列的协议。 |

| 200 | OK | 请求没有问题,主体包含了所请求的数据。 |

| 201 | Created | 用于在服务端创建数据的请求(比如PUT),Loca

必看视频!获取2024年最新Java开发全套学习资料 备注Java

tion头部给出了创建数据的URL。 |

| 202 | Accepted | 请求已经被接受,但服务端还没有对其执行任何动作。 |

| 203 | Non-Authoritative Information | 数据已经正常地返回,但一些响应报文头部可能不正确。 |

| 204 | No Content | 响应报文中包含起始行和头部,没有主体部位。客户端应该继续显示原来的数据。 |

| 205 | Reset Content | 仍然没有主体部分,但客户端应该清除它所显示的数据。 |

| 206 | Partial Content | 成功执行了一部分或者一个范围内的请求。 |

| 300 | Multiple Choices | 客户端请求了一个实际指向多个资源的URL,服务端可以在Location头部包含首选URL。 |

| 301 | Moved Permanently | 请求的URL已经被移除,响应报文中的Location头部包含现在资源的URL。 |

| 302 | Found | 类似于301,但新的URL应该被视为临时性的,将来的请求仍应是老的URL。 |

| 303 | See Other | 类似于301,但主要目的是允许POST请求的响应将客户端定向到某个资源上。 |

| 304 | Not Modified | 客户端有缓冲的文档并发出了一个条件性的请求时,服务端告知客户端,原来缓冲的数据还可以继续使用。 |

| 305 | Use Proxy | 用来说明必须通过代理进行访问,代理的位置在Location头部给出。 |

| 306 | - | 未使用 |

| 307 | Temporary Redirect | 类似于301,但客户端应该使用Location头部给出的URL临时请求,将来的请求仍应是老的URL。 |

| 400 | Bad Request | 客户端发出的是错误请求,服务器无法理解。 |

| 401 | Unauthorized | 请求要求客户端的身份认证 |

| 402 | Payment Required | 保留,以作将来使用 |

| 403 | Forbidden | 服务端理解客户端的请求,但是拒绝执行此请求。 |

| 404 | Not Found | 服务端无法找到客户端所请求的URL。 |

| 405 | Method Not Allowed | 服务端不支持客户端请求的方法。 |

| 406 | Not Acceptable | 服务端无法根据客户端请求的类型完成请求。 |

| 407 | Proxy Authentication Required | 类似于401,但用于要求对资源进行认证的代理服务器。 |

| 408 | Request Timeout | 服务端等待客户端发送的请求时间过长,服务端可以响应此状态码,并关闭连接。 |

| 409 | Conflict | 客户端的请求可以在资源上引发一些冲突,服务端可以发送此状态码。 |

| 410 | Gone | 类似于404,但是服务端曾经拥有过此资源。 |

| 411 | Length Required | 服务端要求客户端的请求报文中包含Content-Length头部时,使用此状态码。 |

| 412 | Precondition Failed | 客户端发起了条件请求,并且其中一个条件失败时,使用此状态码。 |

| 413 | Request Entity Too Large | 客户端发送的主体部分比服务端能够或者期望处理的要大时,使用此状态码。 |

| 414 | Request URI Too Large | 客户端发送的请求URI比服务端能够或者期望处理的要长时,使用此状态码。 |

| 415 | Unsupported Media Type | 服务端无法理解或无法支持客户端所发的内容类型是,使用此状态码。 |

| 416 | Requested Range Not Satisfiable | 客户端请求指定资源的范围无效或无法满足。 |

| 417 | Expectation Failed | 服务端无法满足客户端的Expect头部。 |

| 500 | Internal Server Error | 服务端发生内部错误,无法完成请求。 |

| 501 | Not Implemented | 服务端不支持客户端的请求,无法完成请求。 |

| 502 | Bad Gateway | 作为网关或代理的服务器,从远端服务端接收到了一个无效的请求。 |

| 503 | Service Unavailable | 用来说明服务端现在无法为请求提供服务,但是将来可以。什么时候资源会变为可用可包含在服务端的Retry-After头部中。 |

| 504 | Gateway Timeout | 类似于408,只是作为网关或代理的服务器,未及时从远端服务端获取请求。 |

| 505 | HTTP Version Not Supported | 服务端不支持请求的HTTP协议的版本,无法完成处理。 |

HTTP常见的头部信息有哪些?

请求报文的头部信息

| Header | 含义 | 示例 |

| :-: | :-- | :-- |

| Accept | 指定客户端能够接收的内容类型。 | Accept: text/html,application/xhtml+xml |

| Accept-Charset | 客户端可以接受的字符编码集。 | Accept-Charset: GBK |

| Accept-Encoding | 客户端可以支持的服务端返回内容压缩编码类型。 | Accept-Encoding: gzip, deflate |

| Accept-Language | 客户端可接受的语言 | Accept-Language: zh-CN,zh |

| Authorization | HTTP授权的授权证书 | Authorization: Basic b25lbW9yZSUzQSV1NEUwNyV1NzMyQiV1NUI2NiV1NzkzRQ== |

| Cache-Control | 指定请求和响应遵循的缓存机制 | Cache-Control: no-cache |

| Connection | 表示是否需要持久连接。 | Connection: keep-alive |

| Cookie | HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给服务端。 | Cookie: onemore=万猫学社; |

| Content-Length | 请求的内容长度 | Content-Length: 1024 |

| Content-Type | 请求的与实体对应的MIME信息 | Content-Type: application/x-www-form-urlencoded |

| Date | 请求发送的日期和时间 | Date: Mon, 16 Mar 2020 11:11:11 GMT |

| Expect | 请求的特定的服务端行为 | Expect: 100-continue |

| Host | 指定请求的服务端的域名和端口号 | Host: onemore.study |

| If-Match | 只有请求内容与实体相匹配才获取该数据 | If-Match: “306073f04224cbd114f14693c272f6a0” |

| If-Modified-Since | 如果请求的部分在指定时间之后被修改则请求成功。 | If-Modified-Since: Mon, 16 Mar 2020 11:11:11 GMT |

| If-None-Match | 只有请求内容与实体不匹配才获取该数据。 | If-None-Match: “306073f04224cbd114f14693c272f6a0” |

| If-Range | 允许对数据的某个范围进行条件请求。 | If-Range: “306073f04224cbd114f14693c272f6a0” |

| If-Unmodified-Since | 只有在指定时间之后未被修改才请求成功。 | If-Unmodified-Since: Mon, 16 Mar 2020 11:11:11 GMT |

| Max-Forwards | 将请求转发给其他代理或网关的最大次数。 | Max-Forwards: 10 |

| Pragma | 用来包含实现特定的指令 | Pragma: no-cache |

| Proxy-Authorization | 连接到代理的授权证书 | Proxy-Authorization: Basic b25lbW9yZSUzQSV1NEUwNyV1NzMyQiV1NUI2NiV1NzkzRQ== |

| Range | 只请求数据的一部分,指定范围 | Range: bytes=512-1024 |

| Referer | 先前资源的URL | Referer: http://onemore.study |

| TE | 客户端愿意接受的传输编码 | TE: trailers,deflate;q=0.5 |

| User-Agent | 包含发出请求的客户端信息 | User-Agent: Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:65.0) |

最后如何让自己一步步成为技术专家

说句实话,如果一个打工人不想提升自己,那便没有工作的意义,毕竟大家也没有到养老的年龄。

当你的技术在一步步贴近阿里p7水平的时候,毫无疑问你的薪资肯定会涨,同时你能学到更多更深的技术,交结到更厉害的大牛。

推荐一份Java架构之路必备的学习笔记,内容相当全面!!!

成年人的世界没有容易二字,前段时间刷抖音看到一个程序员连着加班两星期到半夜2点的视频。在这个行业若想要拿高薪除了提高硬实力别无他法。

你知道吗?现在有的应届生实习薪资都已经赶超开发5年的程序员了,实习薪资26K,30K,你没有紧迫感吗?做了这么多年还不如一个应届生,真的非常尴尬!

进了这个行业就不要把没时间学习当借口,这个行业就是要不断学习,不然就只能被裁员。所以,抓紧时间投资自己,多学点技术,眼前困难,往后轻松!

【关注】+【转发】+【点赞】支持我!创作不易!
到一个程序员连着加班两星期到半夜2点的视频。在这个行业若想要拿高薪除了提高硬实力别无他法。

你知道吗?现在有的应届生实习薪资都已经赶超开发5年的程序员了,实习薪资26K,30K,你没有紧迫感吗?做了这么多年还不如一个应届生,真的非常尴尬!

进了这个行业就不要把没时间学习当借口,这个行业就是要不断学习,不然就只能被裁员。所以,抓紧时间投资自己,多学点技术,眼前困难,往后轻松!

【关注】+【转发】+【点赞】支持我!创作不易!

  • 20
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值