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天前
|
前端开发 JavaScript Java
如何捕获和处理HTTP GET请求的异常
如何捕获和处理HTTP GET请求的异常
|
5天前
|
开发者
HTTP 协议请求方法的发展历程
【10月更文挑战第21天】
|
5天前
|
安全
HTTP 协议的请求方法
【10月更文挑战第21天】
|
5天前
|
缓存 安全 前端开发
HTTP 协议的请求方法在实际应用中有哪些注意事项?
【10月更文挑战第29天】HTTP协议的请求方法在实际应用中需要根据具体的业务场景和需求,合理选择和使用,并注意各种方法的特点和限制,以确保网络通信的安全、高效和数据的一致性。
|
7天前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
7天前
|
缓存 安全 API
http 的 get 和 post 区别 1000字
【10月更文挑战第27天】GET和POST方法各有特点,在实际应用中需要根据具体的业务需求和场景选择合适的请求方法,以确保数据的安全传输和正确处理。
|
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
最近在线上往hbase导数据,因为hbase写入能力比较强,没有太在意写的问题。让业务方进行历史数据的导入操作,中间发现一个问题,写入速度太快,并且业务数据集中到其中一个region,这个region无法split掉,处于不可用状态。
1338 0
|
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
Every Programmer Should Know These Latency Numbers 1秒=1000毫秒(ms) 1秒=1,000,000 微秒(μs) 1秒=1,000,000,000 纳秒(ns) 1秒=1,000,000,000,000 皮秒(ps) L1 cache reference .
647 0
|
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
zookeeper watch的定义如下:watch事件是一次性触发器,当watch监视的数据发生变化时,通知设置了该watch的client,即watcher。
934 0
|
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
hadoop服务器更换硬盘操作步骤(datanode hadoop目录${HADOOP_HOME}/bin    日志位置:/var/log/hadoop)1.登陆服务器,切换到mapred用户,执行jps命令,查看是否有TaskTracker进程。
1010 0
下一篇
无影云桌面