高防服务器

HTTP知识点的回顾总结

HTTP的特点和缺点
特点:无连接、无状态、灵活、简单快速

无连接:每一次请求都要连接一次,请求结束就会断掉,不会保持连接
无状态:每一次请求都是独立的,请求结束不会记录连接的任何信息,减少了网络开销,这是优点也是缺点
灵活:通过http协议中头部的 Content-Type 标记, 可以传输任意数据类型的数据对象(文本、图片、视频等),非常灵活
简单快速:发送请求访问某个资源时,只需传送请求方法和URL就可以来,使用简单,正由于http协议简单,使得http服务器的程序规模小,因而通信速度很快

缺点:无状态、不安全、明文传输、对头阻塞

无状态:请求不会记录任何链接信息,没有记忆,就无法区分多个请求发起者身份是不是同一个客户端的,意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次链接传送的数据量增大
不安全:明文传输可能被窃听不安全,缺少身份认证也可能遭遇伪装,还有缺少报文完整性验证可能遭到篡改
明文传输:报文(header部分)使用的是明文,直接将信息暴露给了外界,wifi陷阱就是复用明文传输的特点,诱导你连上热点,然后疯狂抓取你的流量,从而拿到你 敏感信息
对头阻塞:开启长链接时,只建立一个TCP连接,同一时刻只能处理一个请求,那么当请求耗时过长时,其他请求就只能阻塞状态。

HTTP 报文组成部分
http报文:由 请求报文 和 响应报文 组成
请求报文:由 请求行、请求头、空行、请求体 四部分组成
响应报文:由 状态行、响应头、空行、响应体 四部分组成

请求行:包含http方法,请求地址, http协议以及版本
请求头/响应头:就是一些key:value来告诉服务端我要哪些内容,要注意什么类型等,请求头/响应头每一个字段详解
空行:用来区分首部和实体,因为请求头都是key:value的格式,当解析遇到空行时,服务端就知道下一个不再是请求头部分,就该当做请求体来解析了。
请求体:请求的参数
响应体:服务端返回的数据

HTTP 请求方法 (9种)
HTTP1.0: GET、POST、HEAD
HTTP1.1:PUT、PATCH、DELETE、OPTIONS、TRACE、CONNECT

方法 描述
GET 获取资源
POST 传输资源,通常会造成服务器资源的修改
HEAD 获得报文首部
PUT 更新资源
PATCH 对PUT的补充,对已知资源部分更新
DELETE 删除资源
OPTIONS 列出请求资源支持的请求方法,用来跨域请求
TRACE 追踪请求/响应路径,用于测试或诊断
CONNECT 将连接改为管道方式用于代理服务器(隧道代理)

GET 和 POST 的区别

GET 在浏览器回退时是无害的,而 POST 会再次发起请求

GET 请求会被浏览器主动缓存,而 POST 不会,除非手动设置

GET 请求参数挥着保留在浏览器历史记录里, 而 POST 中的参数不会被保留

GET 请求在 URL 中传递的参数有长度限制(浏览器限制大小不同),而 POST 没有限制

GET 参数通过 URL 传递, POST 放在 Request body 中

GET 产生的URL地址可以被收藏,而 POST 不可以

GET 没有 POST 安全,因为 GET 请求参数直接暴露在 URL 上, 所以不能用来传递敏感信息

GET 请求只能进行 URL 编码, 而 POST 支持多种编码方式

对参数的数据类型, GET 只接受 ASCII 字符,而 POST 没有限制

GET 产生一个 TCP 数据包,POST 产生两个数据包(Firefox只发一次)。GET 浏览器把 http header 和 data 一起发出去,响应成功200,POST先发送 header,响应100 continue, 再发送data,响应成功200

常见 HTTP 状态码
1xx:提示信息————表示请求已接收,继续处理
2xx:成功————表示请求已被成功接收
3xx:重定向————表示要完成请求必须进行进一步操作
4xx:客户端错误————表示请求有语法错误或请求无法实现
5xx:服务端错误————表示服务器未能实现合法的请求

https://zhuanlan.zhihu.com/p/…
https://zhuanlan.zhihu.com/p/…
https://zhuanlan.zhihu.com/p/…
https://zhuanlan.zhihu.com/p/…
https://zhuanlan.zhihu.com/p/…
https://zhuanlan.zhihu.com/p/…
https://zhuanlan.zhihu.com/p/…
状态码描述200请求成功206已完成指定范围的请求,场景如video,audio播放文件较大,文件分片时301永久重定向302临时重定向304请求资源未修改,可以使用缓存的资源,不用在服务器取400请求有语法错误401没有权限访问403服务器拒绝执行请求,场景如不允许直接访问,只能通过服务器访问时404请求资源不存在500服务器内部错误,无法完成请求503请求未完成,因服务器过载,死机或维护等
HTTP 和 HTTPS 的区别

HTTP 是 明文传输,不安全的, HTTPS 是 加密传输, 安全的多
HTTP 标准端口是 80, HTTPS 标准端口是 443
HTTP 不用认证证书 免费, HTTPS 需要认证证书 要钱
连接方式不同, HTTP 三次握手, HTTPS中TLS1.2版本7次,TLS1.3版本6次
HTTP 在 OSI 网络模型中是在 应用层, 而 HTTPS 的TLS是在 传输层
HTTP 是 无状态 的, HTTPS 是 有状态 的

HTTPS优缺点
优点:

内容加密,中间无法查看原始内容
身份认证,保证用户访问正确。如访问百度,即使DNS被劫持到第三方站点,也会提醒用户没有访问百度服务,可能被劫持
数据完整性,防止内容被第三方冒充或篡改
虽然不是绝对安全,但是现行架构下最安全的解决文案了,大大增加了中间人的攻击成本

缺点:

要钱,功能越强大的证书费用越贵
证书需要绑定IP,不能在同一个IP上绑定多个域名
https双方加解密,耗费更多服务器资源
https 握手更耗时,降低一定用户访问速度(优化好就不是缺点了)

[温馨提示:高防服务器能助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。]

[图文来源于网络,不代表本站立场,如有侵权,请联系高防服务器网删除]