http请求学习

2023-05-16

GET:向Web服务器请求一个文件
POST:向Web服务器发送数据让Web服务器进行处理
PUT:向Web服务器发送数据并存储在Web服务器内部
HEAD:检查一个对象是否存在
DELETE:从Web服务器上删除一个文件
CONNECT:对通道提供支持
TRACE:跟踪到服务器的路径
OPTIONS:查询Web服务器的性能

1,User-Agent:HTTP客户端运行的浏览器类型的详细信息。通过该头部信息,web服务器可以判断到当前HTTP请求的客户端浏览器类别。

2,Accept:指定客户端能够接收的内容类型,内容类型中的先后次序表示客户端接收的先后次序。
3,Accept-Language:指定HTTP客户端浏览器用来展示返回信息所优先选择的语言。

4,Accept-Encoding:指定客户端浏览器可以支持的web服务器返回内容压缩编码类型。表示允许服务器在将输出内容发送到客户端以前进行压缩,以节约带宽。而这里设置的就是客户端浏览器所能够支持的返回压缩格式。

5,Accept-Charset:浏览器可以接受的字符编码集。

6,Content-Type:显示此HTTP请求提交的内容类型。一般只有post提交时才需要设置该属性。

7,Connection:表示是否需要持久连接。如果web服务器端看到这里的值为“Keep-Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接),它就可以利用持久连接的优点,当页面包含多个元素时(例如Applet,图片),显著地减少下载所需要的时间。要实现这一点, web服务器需要在返回给客户端HTTP头信息中发送一个Content-Length(返回信息正文的长度)头,最简单的实现方法是:先把内容写入ByteArrayOutputStream,然 后在正式写出内容之前计算它的大小。

8,Keep-Alive:显示此HTTP连接的Keep-Alive时间。使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。

9,cookie:HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器。

10,Referer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面

举例子:
客户端请求:

GET /hello.txt HTTP/1.1
User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3
Host: www.example.com
Accept-Language: en, mi

参数说明:
分成三部分:
(1)GET:HTTP请求方式
(2) /hello.txt:向Web服务器请求一个文件hello.txt
(3)HTTP/1.1: URI(Uniform Resource Identifier,统一资源标识符)及其版本
请求浏览器:www.example.com
请求目录:curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3
请求文件:hello.txt

服务器响应:

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Accept-Ranges: bytes
Content-Length: 51
Vary: Accept-Encoding
Content-Type: text/plain

响应状态码分类:(看数字,本响应中是200)
1** 信息,服务器收到请求,需要请求者继续执行操作
2** 成功,操作被成功接收并处理(200)
3** 重定向,需要进一步的操作以完成请求(301)
4** 客户端错误,请求包含语法错误或无法完成请求(404)
5** 服务器错误,服务器在处理请求的过程中发生了错误(500)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

http请求学习 的相关文章

随机推荐