http心得
HTTP一般指超文本传输协议,它是互联网应用最广泛的协议,是用于从WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。HTTP协议是无状态的。HTTP协议的主要特点有:1、支持客户/服务器模式。2、 简单快速。3、灵活。4、无连接。5、无状态。
HTTP的报文结构:
请求报文——从客户向服务器发送请求报文
请求首部:
1. 请求行:包含请求的方法,请求的URL和请求的HTTP版本
2.请求首部字段:从客户端向服务器端发送请求报文是使用的首部。补充说明了请求的附加内容、客户端信息、响应内容优先级等信息。
3.通用首部字段:请求报文和响应报文都会用到的首部
4.实体首部字段:针对请求报文和响应报文实体部分使用的字段。补充说明了资源内容、更新时间等与实体有关的信息。
5.其他:如set-cookies等非Http协议的请求头
空行:[CR+LF]由它来划分
报文主体:应该被发送的数据(并不一定要有报文主体)
响应报文——从服务器到客户的回答
报文首部:
1.状态行:包含Http版本号,响应结果状态码和原因语句
2.响应首部字段:从服务器向客户端返回响应豹纹是使用的首部。补充说明了响应的附加内容,也会要求客户端附加额外的内容信息 。
3.通用首部字段:同上
4.实体首部字段:同上
5.其他:同上
空行:同上
报文主体:同上
这两种类型的消息由一个起始行,一个或者多个头域,一个指示头域结束的空行和可选的消息体组成。HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。
常见的HTTP请求头:Accept-Charset(用于指定客户端的字符集)、Accept-Encoding(用于指定可接受的内容编码)、Accept-Language(用于指定一种 自然语言)、Host(用于指定被请求资源的Internet主机和端口号)、User-Agent(客户端将它的操作系统、浏览 器和其他属性告诉服务器)、Connection(当前连接是否保持)
常见的HTTP响应头:Server(使用的服务器的名称)、Content-Type(用来指明发送给接收者的实体正文的媒体类型)、Content-Encoding、Content-Language、Content-Length、Keep-Alive(保持连接的时间)
常见的HTTP状态码:200(客户端请求成功)、302(临时跳转,跳转的地址通过Location指定)、400(客户端请求有语法错误,不能被服务器识别)、403(服务器收到请求,但是拒绝提供服务)、404(请求的资源不存在)、500(服务器发生不可预期的错误)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了