Http请求
来源:互联网 发布:seo关键词优化 编辑:程序博客网 时间:2024/06/03 22:55
一.浏览器的http请求都发送了什么?
1.说明:一个完整的HTTP请求包括如下内容:
一个请求行、若干请求头、以及实体内容,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。
2.一个请求示例
GET /day09/hello HTTP/1.1 -请求行
(请求行用于描述客户端的请求方式、请求的资源名称,以及使用的HTTP协议版本号)
Host: localhost:8080 --请求头(多个key-value对象)
(消息头用于描述客户端请求哪台主机,以及客户端的一些环境信息等)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,en-us;q=0.8,zh;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
------------------------------------------------ 一个空行
name=eric&password=123456 --(可选)实体内容
二.请求行详解
1.GET /day09/hello HTTP/1.1 :表示向服务器用GET方式请求day09/hello,使用HTTP:/1.1协议,这是发送请求时,必须要有的;
(1).HTTP1.0和HTTP1.1的区别:
1)在HTTP1.0协议中,客户端与web服务器建立连接后,只能获得一个web资源。
2)HTTP1.1协议,允许客户端与web服务器建立连接后,在一个连接上获取多个web资源。(常用)
2.请求方式(get与post):
(1)常见的请求方式: GET 、 POST、 HEAD、 TRACE、 PUT、 CONNECT 、DELETE、
(2)常用的请求方式: GET 和 POST
(3)GET和POST的区别:
1)传输特点:
Get(默认值):是通过URL传递表单值,参数会放在报文头中;
Post:传递的参数值是隐藏到http报文体中,URL中看不到。在浏览器端每次刷新页面,服务器都会提示浏览器要重新传输请求。
2)区别是什么?
1)get是通过地址栏(URI)会跟上参数数据。以?开头,多个参数之间以&分割。而post通过地址栏看不到参数值,适合传递密码;
2)get传递的数据量是有限的,不超过1KB,如果要传递大数据量不能用Get。而post则没有这个限制
3)get浏览器可能会缓存,post一定不会缓存
3)如何通过外在表象判断两者?
只要在地址栏中输入一个网址回车能访问,那么就是GET
4)如果Get和Post两者的请求一致?
那么直接在doGet方法中,添加处理代码。之后在doPost方法中,使用this.doGet()调用相同的处理方式即可。
总之,两者公用一段代码即可
注意:
重写doGet或者doPost的时候,不要保留super.doGet()或者super.doPost()。这两个方法会抛出一个异常。
3.请求资源
URL: 统一资源定位符。http://localhost:8080/day09/testImg.html。只能定位互联网资源。是URI的子集。
URI: 统一资源标记符。/day09/hello。用于标记任何资源。可以是本地文件系统,局域网的资源(//192.168.14.10/myweb/index.html),可以是互联网。
三.请求头详解(Request Headers部分)
说明:请求头中的参数不一定每次请求都存在
Accept: text/html,image/*
浏览器接受的数据类型
Accept-Charset: ISO-8859-1
浏览器接受的编码格式
Accept-Encoding: gzip,compress
浏览器接受的数据压缩格式
Accept-Language: en-us,zh
浏览器接受的语言
Host: www. bing.org:80
(必须的)当前请求访问的目标地址(主机:端口)
If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT
浏览器最后的缓存时间
Referer: http: //www.bing.org/index.jsp
当前请求来自于哪里
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
浏览器类型
Cookie:name=eric
浏览器保存的cookie信息
Connection: close/Keep-Alive
浏览器跟服务器连接状态。close: 连接关闭 keep-alive:保存连接。
Date: Tue, 11 Jul 2000 18:23:51 GMT
请求发出的时间
- HTTP请求
- http请求
- http请求
- HTTP请求
- HTTP请求
- Http 请求
- http 请求
- HTTP请求
- http请求
- http 请求
- HTTP请求
- HTTP请求
- http请求
- http请求
- http请求
- HTTP请求
- http请求
- http请求
- MIDI文件(3)
- sklearn Pipeline使用
- BottomSheetDialog获得BottomSheetBehavior的方法
- 你真的会使用XMLHttpRequest吗?
- Javascript中的__proto__和prototype
- Http请求
- 进行JAR压缩时,参数“cvfm" 和"cvfe"的区别
- mysql 启动报错--发现系统错误2,系统找不到指定的文件。
- JAVA异常
- Java内部类详解
- 实例学习ansible系列(14)playbook变量使用
- centos安装libxml2时编译出错
- 安装mysql Install/Remove of the Service Denied!错误的解决办法
- 毕业两年后的一些感想-1