免费网站空间哪个好,大浪网站建设 优帮云,做app的网站,微信小商店怎么分销思维导图 http简介 定义#xff1a; HTTP#xff08;HyperText Transfer Protocol#xff0c;超文本传输协议#xff09;是互联网应用层通信的核心协议#xff0c;定义了客户端#xff08;如浏览器#xff09;与服务器之间的数据交互规则。 简介#xff1a; 1.HTTP是应…思维导图 http简介 定义 HTTPHyperText Transfer Protocol超文本传输协议是互联网应用层通信的核心协议定义了客户端如浏览器与服务器之间的数据交互规则。 简介 1.HTTP是应用层协议 2.HTTP是一个基于TCP通信协议传输来传递数据HTML 文件, 图片文件, 查询结果等 3.HTTP协议工作于B/S架构上浏览器作为HTTP客户端通过URL主动向HTTP服务端即WEB服务器发送所有请求Web服务器根据接收到的请求后向客户端发送响应信息。 4.HTTP默认端口号为80但是你也可以改为其他端口 http特点 特点 1.无状态性 协议不保存会话上下文每个请求独立处理。需通过Cookie、Session或Token实现状态管理如用户登录状态。 2.无连接短连接 默认每次请求独立建立TCP连接完成即断开HTTP/1.1通过Connection: keep-alive支持持久连接减少握手开销 注意HTTP协议本身是无连接的即每个请求和响应都是独立的。但是http是基于TCP协议的连接管理方式想要与长连接和短连接用于优化HTTP请求和响应的传输效率。长连接是指在一个TCP连接上可以发送多个HTTP请求和响应而不需要每次请求都建立和关闭一个新的TCP连接。短连接是指每个HTTP请求和响应都使用一个新的TCP连接 3.明文传输HTTP与加密传输HTTPS HTTP数据以明文传输存在窃听风险。 HTTPS基于TLS/SSL加密保障数据隐私和完整性默认端口443。 4.HTTP是媒体独立这意味着只要客户端和服务器知道如何处理的数据内容任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。 解析 由此可见HTTP 协议是以明文方式发送内容不提供任何方式的数据加密如果攻击者截取了 Web 浏览器和网站服务器之间的传输报文就可以直接读懂其中的信息因此 HTTP 协议不适合传输一些敏感信息比如信用开号、密码等。 为了解决 HTTP 协议的这一缺陷需要使用另一种协议HTTPS 协议。 HTTPS全称Hyper Text Transfer Protocol over Secure Socket Layer是以安全为目标的 HTTP 通道简单来说就是 HTTP 的安全版。即在 HTTP 下加入 SSL 协议SSL 依靠证书来验证服务器的身份并为浏览器和服务器之间的通信加密。 HTTPS 和 HTTP 的区别主要为以下三点 1.http 是超文本传输协议信息是明文传输https 协议是由 http ssl 协议构建的可进行加密传输、身份认证的网络协议信息是密文传输比 http 协议安全。 2.https 协议需要到 ca 申请证书一般免费证书很少需要缴费 3.http 和 https 使用的默认端口也不一样前者是 80后者是 443 http协议格式 地址栏区分 https ://www.example.com: 443 /path/page.html ?queryparam #section └─┬─┘ └──────┬──────┘ └┬┘ └─────┬─────┘ └───┬───┘ └──┬──┘ 协议 主机 端口 路径 查询参数 锚点 1.请求数据格式
这里最好结合着思维导图看 客户端网页发送一个HTTP请求到服务器的请求消息包括以下格式请求行、请求头部、空行和请求数据四个部分组成下图给出了请求报文的一般格式。 (1).请求行 请求行是由请求方法字段、url字段、http协议版本字段3个部分组成。 请求方法 GET获取资源幂等可缓存。POST提交数据非幂等如表单提交。PUT/DELETE更新/删除资源RESTful API常用。OPTIONS查询支持的方法如CORS预检请求。 状态码分类 1xx信息响应如101 Switching Protocols。2xx成功如200 OK、201 Created。3xx重定向如301永久重定向、304缓存未修改。4xx客户端错误如404未找到、403禁止访问。5xx服务器错误如500内部错误、503服务不可用。 缓存机制 强缓存通过Cache-Control: max-age3600或Expires控制本地缓存有效期。协商缓存利用Last-Modified或ETag校验资源是否更新服务器返回304状态码避免重复传输。 (2).请求头部 也被称作消息报头,请求头是由一些键值对组成每行一对关键字和值用英文冒号“:”分隔。允许客户端向服务器发送一些附加信息或者客户端自身的信息 (3).空行 最后一个请求头之后是一个空行发送回车符和换行符通知服务器以下不再有请求头。也就是请求头结束的标志。 (4).请求体请求数据 请求数据请求数据不在GET方法中使用而是在POST方法中使用。POST方法适用于需要客户填写表单的场合。与请求数据相关的最常使用的请求头是Content-Type和Content-Length。 2.响应数据格式 请求数据请求数据不在GET方法中使用而是在POST方法中使用。POST方法适用于需要客户填写表单的场合。与请求数据相关的最常使用的请求头是Content-Type和Content-Length。 HTTP响应也由四个部分组成分别是状态行、消息报头、空行和响应正文。 (1).状态行 位置响应首行 格式HTTP版本 状态码 状态短语 由三部分组成HTTP协议的版本号、状态码、以及对状态码的文本描述。 例如HTTP/1.1 200 OK 。200表示请求已经成功 (协议版本)(状态码)(CRLF) 状态码 200 OK请求成功 301 Moved Permanently资源永久重定向 304 Not Modified资源未修改缓存有效 400 Bad Request客户端请求错误 401 Unauthorized需要身份验证 403 Forbidden禁止访问 404 Not Found资源不存在 500 Internal Server Error服务器内部错误 (2).消息报头 位置状态行之后空行之前 (3).空行 位置报头结束后 格式\r\n回车换行 作用分隔报头和正文的边界 (4).响应正文 位置空行之后 内容服务器返回的实际数据 示例
看完之后我们就能看出HTTP协议就是客户端发送请求消息服务器识别后对数据处理返回给客户端所以格式都是很相似的都是分为四个部分。
客户端发送的请求数据第一行就是请求行空行前都是请求头部空行后就是请求数据 服务端返回的响应