http相关知识

什么是HTTP? HTTP 和 HTTPS 的区别?

超文本运输协议,是实现网络通信的一种规范

  • http:用于浏览器和网站服务器之间传递信息,以明文方式发送内容,不提供任何方式的数据加密
    • 规模小,通信快
  • https:HTTPS = HTTP + SSL/TLS,用SSL证书来验证服务器的身份,为浏览器和服务器之间的通信进行加密,使得隐私数据能加密传输
  • HTTPS 由于需要设计加密以及多次握手,性能方面不如 HTTP
  • HTTPS需要SSL,SSL 证书需要钱,功能越强大的证书费用越高
  • HTTP 和 HTTPS 使用连接方式不同,默认端口也不一样,HTTP是80,HTTPS是443

说说HTTP 常见的状态码有哪些,适用场景?

  • 1xx(信息性状态码):表示请求已被接收,需要继续处理。
    • 100 Continue:客户端发送大文件前,先询问服务器是否接受
    • 101 Switching Protocols:服务器同意客户端请求,切换协议(如从 HTTP 升级到 WebSocket)。
  • 2xx(成功状态码):表示请求已成功处理。
    • 200:标准成功响应
    • 201:资源创建成功(如提交表单后返回新资源的 URL)
    • 204:请求成功,但无需返回数据(如 DELETE 请求)
  • 3xx(重定向状态码):表示需要客户端进一步操作以完成请求。
    • 301:永久重定向会缓存。旧的域名不再使用时,用户访问旧域名时用301就重定向到新的域名(搜索引擎会更新索引,用户自动跳转到新 URL)
    • 302:临时重定向不会缓存,(如未登录用户跳转到登录页,搜索引擎保留原 URL)
    • 304:缓存未过期
  • 4xx(客户端错误状态码):客户端请求有误
    • 400:请求语法错误(如参数格式错误、JSON 解析失败)
    • 401:未认证(如未登录用户访问需权限的接口)
    • 403:服务器拒绝执行(如已登录但权限不足)
    • 404:资源不存在(如 URL 路径错误或资源已删除)
    • 405:请求方法不被允许(如用 GET 访问只支持 POST 的接口)
    • 429:请求频率过高(触发限流)
  • 5xx(服务器错误状态码):表示服务器处理请求时出错
    • 500:服务器内部错误(如代码异常或数据库连接失败)
    • 503:服务器停机维护时
    • 504:网关超时

说一下 GET 和 POST 的区别?

GET和POST,两者是HTTP协议中发送请求的方法

  • 使用GET的请求应该只被用于获取数据,常用于加载网页、搜索查询、获取商品详情。
  • POST是提交数据,常用于用户登录、提交表单、支付请求
  • 安全性方面post更安全
    • get明文暴露在 URL 和浏览器历史记录,post不可见(除非抓包)
    • get受 URL 长度限制,post无限制
    • get可被浏览器、代理服务器缓存,post默认不缓存
  • RESTful API 设计:GET 用于查询(/users?id=1),POST 用于创建(/users),PUT/DELETE 用于更新和删除。
  • TCP 数据包数量:GET 请求通常只需 1 个 TCP 包(Header + URL 数据一起发送),而 POST 可能需要 2 个包(先发 Header,再发 Body)。

说说 HTTP 常见的请求头有哪些? 作用?

1、基础控制:Host, User-Agent, Connection

2、内容协商:Accept, Content-Type

3、缓存管理:Cache-Control, If-Modified-Since

4、安全认证:Authorization, Cookie

5、跨域与权限:Origin, Access-Control-Request-*

  • Host:指定请求的目标域名,Host: example.c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值