scarcoco / projx

5 stars 0 forks source link

HTTP Headers & Status #30

Open scarcoco opened 4 years ago

scarcoco commented 4 years ago

安全相关响应头

强制使用 HTTPS

Strict-Transport-Security: max-age=<expire-time>
Strict-Transport-Security: max-age=<expire-time>; includeSubDomains
Strict-Transport-Security: max-age=<expire-time>; preload
X-Frame-Options: deny
X-Frame-Options: sameorigin
X-Frame-Options: allow-from https://example.com/
X-Content-Type-Options: nosniff

nosniff,下面两种情况的请求将被阻止:

  1. 请求类型是"style" 但是 MIME 类型不是 "text/css",
  2. 请求类型是"script" 但是 MIME 类型不是 JavaScript MIME 类型。
// 不过滤
X-XSS-Protection: 0 
// 过滤
X-XSS-Protection: 1
// 过滤,阻止加载
X-XSS-Protection: 1; mode=block
// 过滤,上报
X-XSS-Protection: 1; report=<reporting-uri>

上面的 X-Frame-OptionsX-Content-Type-OptionsX-XSS-Protection 可以与 CSP结合使用,详细内容如下: https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Security-Policy

scarcoco commented 4 years ago

其他

Connection: keep-alive
Connection: close

在常规的 HTTP 响应头中,Content-Disposition 指示回复的内容该以何种形式展示,是以内联的形式(即网页或者页面的一部分),还是以附件的形式下载并保存到本地。

multipart/form-data 类型的应答消息体中, Content-Disposition 消息头可以被用在multipart消息体的子部分中,用来给出其对应字段的相关信息。各个子部分由在 Content-Type 中定义的分隔符分隔。

// 作为消息主体中的消息头
Content-Disposition: inline
Content-Disposition: attachment
Content-Disposition: attachment; filename="filename.jpg"

// 作为multipart body中的消息头
Content-Disposition: form-data
Content-Disposition: form-data; name="fieldName"
Content-Disposition: form-data; name="fieldName"; filename="filename.jpg"

Content-Location 首部指定的是要返回的数据的地址选项。最主要的用途是用来指定要访问的资源经过内容协商后的结果的 URL

LocationContent-Location 是不同的,前者(Location)指定的是一个重定向请求的目的地址(或者新创建的文件的URL),而后者(Content-Location) 指向的是可供访问的资源的直接地址,不需要进行进一步的内容协商。

Location 对应的是响应,而 Content-Location 对应的是要返回的实体.

Content-Location: <url>

206 Partial Content 416 Range Not Satisfiable

scarcoco commented 4 years ago

状态码

1xx - Informational(信息性状态码)

2xx - Success(成功状态码)

200 OK 204 No Content 206 Patial Content

3xx - Redirection(重定向)

301 Moved Permanently 302 Found 303 See Other 304 Not Modified 307 Temporary Redirect

4xx - Client error(客户端错误)

400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 405 Method Not Allowed 413 Payload Too Large 414 URI Too Long

5xx - Server Error(服务器错误)

500 Internal Server Error 502 Bad Gateway 503 Service Unavailable 504 Gateway Timeout

scarcoco commented 4 years ago

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status