在网站上可以做哪些互动活动,网站怎么做关键词库,安卓app制作教程,高校网站站群一、什么是HTTP协议 虽然我们说, 应用层协议是我们程序猿自己定的. 但实际上, 已经有大佬们定义了一些现成的, 又非常好用的应用层协议, 供我们直接参考使用. HTTP(超文本传输协议)就是其中之一。 在互联网世界中#xff0c;HTTP#xff08;HyperText Transfer ProtocolHTTPHyperText Transfer Protocol超文本传输协议是一个至关重要的协议。它定义了客户端如浏览器与服务器之间如何通信以交换或传输超文本如 HTML 文档。 HTTP 协议是客户端与服务器之间通信的基础。客户端通过 HTTP 协议向服务器发送请求服务器收到请求后处理并返回响应。HTTP 协议是一个无连接、无状态的协议即每次请求都需要建立新的连接且服务器不会保存客户端的状态信息。 1.1URL 平时我们俗称的 网址 其实就是说的 URL。 1.2urlencode 和 urldecode解码和编码 像 / ? : 等这样的字符, 已经被 url 当做特殊意义理解了. 因此这些字符不能随意出现. 比如, 某个参数中需要带有这些特殊字符, 就必须先对特殊字符进行转义. 转义的规则如下: 将需要转码的字符转为 16 进制然后从右到左取 4 位(不足 4 位直接处理)每 2 位 做一位前面加上%编码成%XY 格式 例如 : 例如我们搜索C两个符号就被转换成了%2B%2B urldecode 就是 urlencode 的逆过程; 下面是博主发现的一个非常好用的编码和解码网站可以自由查看对应的内容经过解码和编码过后的格式 UrlEncode编码/UrlDecode解码 - 站长工具 二、HTTP协议请求与响应格式
GET /Servlet05/get?usernamelucyuserpwd123 HTTP/1.1 请求行Host: localhost:8080 请求头
Connection: keep-alive
sec-ch-ua: Not A;Brand;v99, Chromium;v98, Google Chrome;v98
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: Windows
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36
Accept: text/html,application/xhtmlxml,application/xml;q0.9,image/avif,image/webp,image/apng,*/*;q0.8,application/signed-exchange;vb3;q0.9
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Referer: http://localhost:8080/Servlet05/index.html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q0.9
Cookie: Idea-69292d60aab66041-a5ec-4720-bd7d-906d53381ec2空白行请求体 首行: [方法] [url] [版本] • Header: 请求的属性, 冒号分割的键值对;每组属性之间使用\r\n 分隔;遇到空行表示 Header 部分结束 • Body: 空行后面的内容都是 Body. Body 允许为空字符串. 如果 Body 存在, 则在Header 中会有一个 Content-Length 属性来标识 Body 的长度;如果服务器返回了一 个 html 页面, 那么 html 页面内容就是在 body 中. 以下是一些常见的HTTP请求头部报头字段的详解
GET此方法用于请求指定的资源。GET请求应该安全且幂等即多次执行相同的GET请求应该产生相同的结果。POST此方法用于向指定的资源提交数据以便根据所提供的数据创建/更新资源。POST请求不是幂等的每次执行相同的POST请求可能会产生不同的结果。PUT此方法用于完整地更新指定的资源。由于PUT请求是幂等的多次执行相同的PUT请求应该产生相同的结果。DELETE此方法用于删除指定的资源。HEAD此方法与GET方法类似只是服务器在响应中只返回HTTP头部而不返回实际的数据。这用于检查资源的元数据。 OPTIONS此方法用于获取指定的资源所支持的通信选项。这可以用于CORS跨源资源共享检查。 PATCH此方法用于对资源进行部分更新。 Host此头部字段指定请求的主机名和/或端口号。这是必需的因为HTTP是一个基于TCP/IP的协议没有主机名和端口号服务器无法知道请求来自哪里。 User-Agent此头部字段提供了关于发送请求的应用程序或用户代理的信息。这可以包括浏览器的名称和版本、操作系统等信息。 Accept此头部字段指定客户端接受哪些类型的数据。例如可以指定接受HTML、JSON、XML等格式的数据。 Content-Type此头部字段指定在POST或PUT请求中发送的数据的类型。例如如果发送的是JSON数据那么此头部字段应该设置为application/json。 Content-Length此头部字段指定POST或PUT请求中发送的数据的长度。 Cookie此头部字段包含由服务器发送的cookie信息这些信息将在后续的请求中自动包含以便服务器识别用户或保存状态信息。 Authorization此头部字段用于向服务器提供身份验证信息例如Bearer token或Basic authentication。 Referer此头部字段指定原始URL即从哪个URL页面跳转到了当前页面。 以上就是一些常见的HTTP请求头部字段的详解这些头部字段在HTTP协议中发挥着重要的作用使得客户端和服务器之间能够进行有效的通信和数据交换。 三、HTTP常见方法
3.1GET
用途用于请求 URL 指定的资源。
示例GET /index.html HTTP/1.1
特性指定资源经服务器端解析后返回响应内容。
form 表单https://www.runoob.com/html/html-forms.html
比如一般我们打开腾讯、爱奇艺等视频播放软件要求我们输入账号密码等信息用的就是GET操作这里一般会存在一个表单当我们输入完用户名和密码之后点击登录按钮以后而这个按钮也是有链接属性的点击以后浏览器就会再次向服务器发送一次http请求去申请相关的资源。
3.2POST方法
用途用于传输实体的主体通常用于提交表单数据。
示例POST /submit.cgi HTTP/1.1
特性可以发送大量的数据给服务器并且数据包含在请求体中。
form 表单https://www.runoob.com/html/html-forms.html
3.3PUT 方法不常用
用途用于传输文件将请求报文主体中的文件保存到请求 URL 指定的位置。 示例PUT /example.html HTTP/1.1 特性不太常用但在某些情况下如 RESTful API 中用于更新资源。
而博主目前接触和常用的方法就是POST和GET方法了最常用的也是这两种方法还有很多方法可以详细去搜索和了解。