什么网站做优化最好?,口碑推广,Wordpress 悬浮菜单,菜鸟是什么网站详解HTTP HTTP教程HTTP消息结构HTTP状态码HTTP和HTTPS HTTP教程
HTTP#xff08;超文本传输协议#xff0c;HyperText Transfer Protocol#xff09;是一种用于分布式、协作式、超媒体信息系统的应用层协议。*
HTTP是一个基于TCP/IP通信协议来传递数据的#xff08;HTML文… 详解HTTP HTTP教程HTTP消息结构HTTP状态码HTTP和HTTPS HTTP教程
HTTP超文本传输协议HyperText Transfer Protocol是一种用于分布式、协作式、超媒体信息系统的应用层协议。*
HTTP是一个基于TCP/IP通信协议来传递数据的HTML文件图片文件
基本工作原理
客户端发送请求服务器返回响应。 请求流程
建立连接客户端与服务器之间建立连接。在传统的 HTTP 中这是基于 TCP/IP 协议的。最近的 HTTP/2 和 HTTP/3 则使用了更先进的传输层协议例如基于 TCP 的二进制协议HTTP/2或基于 UDP 的 QUIC 协议HTTP/3。发送请求客户端向服务器发送请求请求中包含要访问的资源的 URL、请求方法GET、POST、PUT、DELETE 等、请求头例如Accept、User-Agent以及可选的请求体对于 POST 或 PUT 请求。处理请求服务器接收到请求后根据请求中的信息找到相应的资源执行相应的处理操作。这可能涉及从数据库中检索数据、生成动态内容或者简单地返回静态文件。发送响应服务器将处理后的结果封装在响应中并将其发送回客户端。响应包含状态码用于指示请求的成功或失败、响应头例如Content-Type、Content-Length以及可选的响应体例如HTML 页面、图像数据。关闭连接在完成请求-响应周期后客户端和服务器之间的连接可以被关闭除非使用了持久连接如 HTTP/1.1 中的 keep-alive。
HTTP 的三点注意事项
1.HTTP是无连接的即每次连接只处理一个请求服务器处理完客户请求并收到客户的应答后就断开连接。
2.HTTP是无状态的即HTTP协议对事务处理没有记忆能力处理一件事情并不会有记忆类比鱼的记忆所以当后续的处理需要先前的消息时需要重传。
3.HTTP是媒体独立的主要客户端和服务器知道如何处理数据内容任何的数据内容都可以通过HTTP传送客户端以及服务器指定使用适合的 MIME-type 内容类型。
HTTP消息结构
客户端请求消息
客户端发送一个HTTP请求到服务器的请求消息包括以下格式请求行请求行、请求头部头、空行和请求数据四个部分组成. 抓包得到的截图可以看看 服务器响应消息
HTTP 响应也由四个部分组成分别是状态行、消息报头、空行和响应正文。
响应结果 常见的响应头信息可以参考
HTTP 响应头信息 | 菜鸟教程
HTTP请求方法
HTTP 定义了一组请求方法以表明要对给定资源执行的操作。指示针对给定资源要执行的期望动作。 请求方法定义 HTTP1.0 定义了三种请求方法 GET, POST 和 HEAD 方法。 HTTP1.1 新增了六种请求方法OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。
GET方法请求一个指定资源的表示形式使用GET的请求应该仅用于获取数据不能对服务器上的资源做出任何的变更。应该是幂等的即多次重复的请求应该产生相同的结果
HEAD方法请求一个与GET请求的响应的响应相同但没有响应体。
POST用于将实体提交到指定的资源的方法通常会导致服务器上的状态变化或副作用并且不一定是幂等的。
PUT用于向服务器上传资源通常用于更新已存在的资源或创建新的资源。PUT 请求应该是幂等的。
DELETE方法删除指定的资源DELETE 请求应该是幂等的。
CONNECT方法建立一个到由目标资源标识的服务器的隧道通常用于代理服务器。
OPTIONS用于请求服务器返回支持的 HTTP 方法和其他选项。
TRACE回显服务器收到的请求主要用于测试或诊断。
PATCH 用于在请求-响应链上的每个节点获取传输路径修改用于对资源应用部分的方法。
HTTP状态码
当浏览者访问一个网页时浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前此网页所在的服务器会返回一个包含 HTTP 状态码的信息头server header用以响应浏览器的请求。
HTTP 状态码由三个十进制数字组成第一个十进制数字定义了状态码的类型。响应分为五类信息响应(100–199)成功响应(200–299)重定向(300–399)客户端错误(400–499)和服务器错误 (500–599)
常见的HTTP Status Code
1xx信息性状态码表示接收的请求正在处理。2xx成功状态码表示请求正常处理完毕。3xx重定向状态码需要后续操作才能完成这一请求。4xx客户端错误状态码表示请求包含语法错误或无法完成。5xx服务器错误状态码服务器在处理请求的过程中发生了错误。
一些常见的状态码
200OK请求成功。一般用于GET与POST请求201Created已创建。成功请求并创建了新的资源301Moved Permanently永久移动。请求的资源已被永久的移动到新URI返回信息会包括新的URI浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替302Found临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI400Bad Request客户端请求的语法错误服务器无法理解401Unauthorized请求要求用户的身份认证402Payment Required保留将来使用403Forbidden服务器理解请求客户端的请求但是拒绝执行此请求404Not Found服务器无法根据客户端的请求找到资源网页。通过此代码网站设计人员可设置您所请求的资源无法找到的个性页面405Method Not Allowed客户端请求中的方法被禁止500Internal Server Error服务器内部错误无法完成请求501Not Implemented服务器不支持请求的功能无法完成请求502Bad Gateway作为网关或者代理工作的服务器尝试执行请求时从远程服务器接收到了一个无效的响应503Service Unavailable由于超载或系统维护服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中504Gateway Time-out充当网关或代理的服务器未及时从远端服务器获取请求505HTTP Version not supported服务器不支持请求的HTTP协议的版本无法完成处理 301/302状态码 301,永久移动。也就是说如果一个是一个经过中台处理后的跳转链接那么除了第一次会去访问中台后台请求处理后续每次都不会访问。 302临时移动。同样是一个经过中台处理后的跳转链接但是每次重新访问该链接都会去先请求中台后台先处理。
HTTP和HTTPS
**HTTP超文本传输协议Hypertext Transfer Protocol**是一种用于从网络传输超文本到本地浏览器的传输协议。它定义了客户端与服务器之间请求和响应的格式。HTTP 工作在 TCP/IP 模型之上通常使用端口 80。 **HTTPS超文本传输安全协议Hypertext Transfer Protocol Secure**是 HTTP 的安全版本它在 HTTP 下增加了 SSL/TLS 协议提供了数据加密、完整性校验和身份验证。HTTPS 通常使用端口 443 HTTPS和HTTP的区别主要如下
1、https协议需要到ca申请证书一般免费证书较少因而需要一定费用。
2、http是超文本传输协议信息是明文传输https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式用的端口也不一样前者是80后者是443。
4、http的连接很简单是无状态的HTTPS协议是由SSLHTTP协议构建的可进行加密传输、身份认证的网络协议比http协议安全。
面试题 跟http比https会对性能造成哪些影响 加密和解密HTTPS 的加密和解密过程需要额外的计算资源这可能会导致与纯文本传输的 HTTP 相比有轻微的性能下降。握手过程HTTPS 连接的建立需要一个握手过程这包括密钥交换和认证步骤可能会引入额外的延迟尤其是在首次建立连接时。CPU 使用率由于加密和解密过程HTTPS 可能会增加 CPU 的使用率这在高负载期间可能会对服务器性能产生影响。相较于HTTP网络负载可能会慢2到100倍。延迟由于建立安全连接和加密/解密数据所需的复杂步骤HTTPS 可能会增加延迟从而影响页面加载时间。缓存HTTPS 的缓存机制受到限制因为加密内容通常不能被中间代理缓存这可能导致直接从服务器获取数据从而延长加载时间。 本次学习笔记很多来源于菜鸟教程欢迎前往官网深入学习。 HTTP 教程 | 菜鸟教程 欢迎您在底部评论区留言一起交流~