POST 请求中 http 请求协议内容| 学习笔记

简介: 快速学习 POST 请求中 http 请求协议内容,介绍了 POST 请求中 http 请求协议内容系统机制, 以及在实际应用过程中如何使用。

开发者学堂课程【Java Web 开发-Web 应用、Tomcat、HTTP 请求与响应POST 请求中 http 请求协议内容】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/575/detail/7964


POST请求中http请求协议内容

 

内容简介:

一、添加表单

二、请求协议

 

一、添加表单

为了演示 POST 请求,我们需要修改 index.jsp 页面,即添加一个表单。我们写一个小例子。正规排列到序号中,项目名为 day08-1。在这个中,我们要写一个 HTML 页面。不要出现中文,中文容易出现乱码。

代码如下:

<body>

<h1> Login e

Username:

Password:
<input type="submit" value="Login"/>

</form>

</body>


 

二、请求协议

1.打开浏览器访问地址:

http: //localhost/day08_1/login.html

访问的结果如下:

 image.png

输入

Username:zhangsan

Password:123

POST/index. Jap HTTP/1. 1

Accept:application/x-ms-application,image/jpeg,application/xaml

Referer:http: //localhost/day08 1/login.html

Accept-Language:zh-CN,en-Us;q=0. 5

User-Agent: Mozilla/4. 0 (compatible;MSIE 8.0;Windows NT 6.1:WOW6

Content-Type:application/x-www-form-urlencoded

//表示表单中的数据会自动使用 url 来编码!

Accept-Encoding:gzip, deflateHost:localhost

Content-Length: 30

Connection: Keep-AliveCache-Control:no-cache

username-zhangsanspassword=123 

//正文(体)表单是一大堆内容,而发送给服务器的只有一行字符串!

表单字段:

名称是 Usernane

值是在结果中所填的内容

它的构成为名称,值,&隔开,名称,值。整个表单内容很多,不会把整个表单发给服务器。那样是无意义的。服务器只关心参数的名称和参数的值。其他的什么东西都不用发送。 

2.在上述输入中文

Username: 张三

Password:123

访问结果为:

This is my JSP page

得到的字符编码为:

Usernane=%E5%BC%A0%E4%B8%89& password=123

张三(%E5%BC%A0%E4%B8%89& )首先会用一个字符编码变成一个字符数组。我们认识的字符编码包括 UTM-8GPK

在 UTM-8 中一个汉字三个字节,GPK 一个汉字两个字节。

例如,UTM-8 中张三一共6个字节。一个字节最大范围为负128到127。

-128~127、-128~127、-128~127、-128-127、-128~127-128~127

先通过字符编码,编程字节拿到这个范围的一个值,这个范围的值一共有六个。第一个字节加一个数值。例如字节加128。

转换法则:

字节+128→转换成16进制→添加%这个前缀

例如:36-->%A4

以上就是我们的一个转换法则。中文在早期的网络中传输是非常不安全的,很容易丢失字节。例如 IE6,我们用 url 编码的作用是方便这些东西在网络中传输,从客户端传递给服务器再传回来。

url 编码这样可以保持信息的完整性。我们表单可以自动把这些东西搞定。

超链接里面,如果说参数只是中文,HTTP 协议认为。就不应该在超链接中有中文出现。一旦出现超链接中有中文,必须自己去改写编码。

3. Post请求两个要点
(1)一是正文的格式。

表单虽然很多真正发给服务器的内容并不多。多个参数中间用&隔开。等号左边是名称等号,右边是值。

(2)二是 URL 编码的作用。

Content-Type Content-Type:application/x-www-form-urlencoded

表示表单中的数据会自动使用 url 来编码!

可以说明这一点。后期我们会修改该值。Content-Type 在进行上传的时候会进行修改,平时不修改。

相关文章
|
3天前
|
XML 前端开发 JavaScript
JavaEE:http请求 | 过滤器 | 同步与异步请求 | 跨域问题 | axios框架 有这一篇就够!
JavaEE:http请求 | 过滤器 | 同步与异步请求 | 跨域问题 | axios框架 有这一篇就够!
|
6天前
|
Java API Spring
Spring Boot中使用Feign进行HTTP请求
Spring Boot中使用Feign进行HTTP请求
|
6天前
|
缓存 负载均衡 NoSQL
Redis系列学习文章分享---第十四篇(Redis多级缓存--封装Http请求+向tomcat发送http请求+根据商品id对tomcat集群负载均衡)
Redis系列学习文章分享---第十四篇(Redis多级缓存--封装Http请求+向tomcat发送http请求+根据商品id对tomcat集群负载均衡)
17 1
|
6天前
|
安全 网络安全 数据安全/隐私保护
深入理解HTTP协议:工作原理与安全性
【6月更文挑战第28天】HTTP是互联网基础协议,用于浏览器与服务器通信。基于请求-响应模型,无状态且可扩展。但其明文传输、缺乏身份验证和数据完整性校验导致安全问题。HTTPS 加入SSL/TLS,提供加密、身份验证和完整性校验,保障网络安全。了解HTTP原理和安全至关重要。
|
1天前
|
安全 算法 网络协议
HTTPS协议的详细讲解(四次握手)
HTTPS协议的详细讲解(四次握手)
|
2天前
|
缓存 安全 搜索推荐
HTTP 请求方法:你需要知道的一切
在 Web 开发领域,HTTP 方法在定义客户端如何与 Web 服务器交互以及对资源执行不同操作方面起着至关重要的作用。HTTP(Hypertext Transfer Protocol,超文本传输协议)是现代网络应用的栋梁,它定义了客户端与服务器之间的通信方式。
|
6天前
|
安全 Java API
深入探索 org.springframework.http.server.reactive.ServerHttpRequest:Reactive世界中的HTTP请求处理
深入探索 org.springframework.http.server.reactive.ServerHttpRequest:Reactive世界中的HTTP请求处理
10 0
|
7天前
|
数据安全/隐私保护
数据防护之=HTTPS协议增加了<数据加密>
数据防护之=HTTPS协议增加了<数据加密>
|
7天前
|
Java API Spring
Spring Boot中使用Feign进行HTTP请求
Spring Boot中使用Feign进行HTTP请求
|
Web App开发 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
异步通信 对于BS(Browser-Server 浏览器)架构,很多情景下server的处理时间较长。 如果浏览器发送请求后,保持跟server的连接,等待server响应,那么一方面会对用户的体验有负面影响; 另一方面,很有可能会由于超时,提示用户服务请求失败。
744 0