前端工程师必须要知道的HTTP部分

1. IETF组织制定的标准

rfc7234: https://tools.ietf.org/html/rfc7234原来的2616以被废弃

 

2. 格式

HTTP分为 请求Request响应Response,如图:

《前端工程师必须要知道的HTTP部分》

 

Request 

Header(例子解析):

《前端工程师必须要知道的HTTP部分》

Body:

一般请求体就是以下4种格式

  • application/json
  • application/x-www-form-urlencoded
  • mutipart/form-data
  • text/xml

Demo:

GET / HTTP/1.1
Host: time.geekbang.org

 

Response

Header(例子解析):

《前端工程师必须要知道的HTTP部分》

Body:

一般响应体就是HTML、JSON 或者 二进制多媒体数据

Demo:

HTTP/1.1 301 Moved Permanently
Date: Fri, 25 Jan 2019 13:28:12 GMT
Content-Type: text/html
Content-Length: 182
Connection: keep-alive
Location: https://time.geekbang.org/
Strict-Transport-Security: max-age=15768000

<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>openresty</center>
</body>
</html>

 

3. HTTP Method

  • GET (查)
  • POST (改)
  • PUT (增)
  • DELETE (删)
  • HEAD (只返回响应头的GET)
  • CONNECT (多用于WebSocket、HTTPS)
  • OPTIONs、TRACE (多用于调试)

 

4. HTTP Status Code

状态代码有以下:

  • 1xx:指示信息–表示请求已接收,继续处理。
  • 2xx:成功–表示请求已被成功接收、理解、接受。
  • 3xx:重定向–要完成请求必须进行更进一步的操作。
  • 4xx:客户端错误–请求有语法错误或请求无法实现。
  • 5xx:服务器端错误–服务器未能实现合法的请求。

常见状态代码、状态描述的说明如下。

  • 200 OK:请求成功
  • 301 Moved Permanently 永久性重定向
  • 302 Move temporarily 临时重定向
  • 304 Not Modified 客户端缓存没有更新
  • 400 Bad Request:客户端请求有语法错误,不能被服务器所理解。
  • 401 Unauthorized:没有身份认证
  • 403 Forbidden:没有权限
  • 404 Not Found:没有资源
  • 500 Internal Server Error:发生不可预期的错误
  • 503 Server Unavailable:暂时不能处理请求,一段时间后可能恢复正常

 

    原文作者:张啊咩
    原文地址: http://www.cnblogs.com/amiezhang/p/6715069.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞