请求协议(格式)和响应协议(格式)
请求体:GET没有请求体,只有POST有请求体。
- GET请求数据会暴露在浏览器的地址栏中。(密码)
- 在浏览器的地址栏中直接给出URL,那么一定就是GET请求。
- 点击页面上的超链接也一定是GET请求。
- 提交表单时,表单默认是GET请求,也可以设置为POST
- 数据不会出现在地址栏中。
- 数据的大小没有上限。
- 有请求体。
- 请求体中如果出现中文,会使用URL编码。
响应体
Content-Type:text/html;charse=UTF-8:响应体使用UTF-8编码。
响应头说明了响应的真正含义,例如200表示响应成功,302表示重定向,这说明浏览器需要再发一个新的请求。
- 200:请求成功,浏览器通常会把响应体内容显示在浏览器中。
- 404:请求的资源没找到。说明客户端错误的请求了不存在的资源。
- 500:请求资源找到了,但是服务器内部出现了错误。
- 302:重定向,表示服务器要求浏览器重新再发一个请求,服务器会发送一个响应头Location,它指定了新的URL地址。
- 304:
自动刷新响应头,浏览器会在3秒之后请求http://www.baidu.com
- Refresh:3;url=http://www.baidu.com
任何特殊的字符(就是那些不是简单的七位ASCII,如汉字)将以百分符%用十六进制编码,当然也包括象 =,&;,和 % 这些特殊的字符。其实url编码就是一个字符ascii码的十六进制。不过稍微有些变动,需要在前面加上“%”。比如“\”,它的ascii码是92,92的十六进制是5c,所以“\”的url编码就是%5c。那么汉字的url编码,如:“胡”的ascii码是-17670,十六进制是BAFA,url编码是“%BA%FA”。
package demo; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import org.junit.Test; public class demo { @Test public void fun1() throws UnsupportedEncodingException{ String s="大家好"; s=URLEncoder.encode(s,"UTF-8"); System.out.println(s); } }
%E5%A4%A7%E5%AE%B6%E5%A5%BD
URI:统一资源标识符,它包含URL,它更加宽泛,在网络上任何描述资源东西都是URI,它可以是不存在的资源,例如:ndsj@163.com。
文章来源: http协议简介