http/ip 协议

Posted maoxianfei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http/ip 协议相关的知识,希望对你有一定的参考价值。

http状态码

1** (消息)

这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送 1xx 响应。

  • 100: 服务器仅接收到部分请求
  • 101: 服务器已经理解了客户端的请求,并将通过Upgrade 消息头通知客户端采用不同的协议来完成这个请求。

2** (请求成功)

这一类型的状态码,代表请求已成功被服务器接收、理解、并接受

  • 200: 请求成功(其后是对GET和POST请求的应答文档。)
  • 201: 请求被创建完成,同时新的资源被创建。

3** (重定向)

这类状态码代表需要客户端采取进一步的操作才能完成请求。通常,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的 Location 域中指明。

  • 300: 多重选择。链接列表。用户可以选择某链接到达目的地。
  • 301: 页面永久重定向
  • 302: 页面临时重定向
  • 304: 资源未被修改,服务器告诉客户,原来缓冲的文档还可以继续使用。

4** (客户端错误)

这类的状态码代表了客户端看起来可能发生了错误,妨碍了服务器的处理。除非响应的是一个 HEAD 请求,否则服务器就应该返回一个解释当前错误状况的实体,以及这是临时的还是永久性的状况。这些状态码适用于任何请求方法。浏览器应当向用户显示任何包含在此类错误响应中的实体内容。

  • 400: 服务器未能理解请求
  • 401: 被请求的页面需要用户名和密码。
  • 403: 对请求页面的访问被禁止。(通常为没有读权限)
  • 404: 服务器无法找到被请求的页面。
  • 408: 超出服务器等待时间
  • 413: 由于所请求的实体的太大,服务器不会接受请求。
  • 414: 由于url太长,服务器不会接受请求。当post请求被转换为带有很长的查询信息的get请求时,就会发生这种情况。

5** (服务器错误)

这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。除非这是一个HEAD 请求,否则服务器应当包含一个解释当前错误状态以及这个状况是临时的还是永久的解释信息实体。浏览器应当向用户展示任何在当前响应中被包含的实体。

  • 500: 请求未完成。服务器遇到不可预知的情况。
  • 502: 作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
  • 503: 服务器临时过载或当机。
  • 504: 网关超时

以上是关于http/ip 协议的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫最为核心的HTTP协议解析,及自定义协议的分析!

Http小结

HTTP协议是什么?

CTFHUB-Web-Web前置技能-HTTP协议

ssrf漏洞中的url编码解码

ssrf漏洞中的url编码解码