Http协议----学习笔记

本文深入解析HTTP协议的核心组件,包括URL、请求与响应结构、报头类型及其作用,旨在为开发者提供全面理解HTTP通信的基础知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.1.HTTP URL

HTTP URL [一种特殊的URI,包含了用于查找某个资源的信息],格式如下:

http//host[":"port][abs_path]

http表示要通过HTTP来定位网络资源,

host代表主机域名

port指定一个端口号

abs_path指定资源的URI

1.2.HTTP请求:

HTTP请求包括:请求行、消息报头、请求正文三部分。

格式:Method Request-URI HTTP-Version CRLF[回车换行]

Method:请求方法

Request-URI:资源标识符

HTTP-Version:请求的HTTP协议版本

请求方法:

GET POST HEAD PUT DELETE TRACE CONNECT OPTIONS

1.3.HTTP 响应:

服务器接收和解释请求消息之后返回一个Http响应信息,Http相应信息包括:状态行、消息报头、响应正文三部分。

格式:HTTP-Version Status-Code Reason-Phrase CRLF

HTTP-Version 表示服务器 HTTP 协议的版本,Status-Code 表示服务器发回的响应状态代码,Reason-Phrase 表示状态代码的文本描述。

状态代码缩略:

1xx :指示信息

2xx :成功

3xx :重定向

4xx :客户端错误

5xx :服务器端错误

响应正文:就是服务器返回的资源内容

1.4.报头:

HTTP 消息报头包括普通报头、请求报头、响应报头、实体报头。

每一个报头域都是由名字 “ : ” 空格 值 组成,消息报头域的名字是大小写无关的。

1.4.1普通报头:

只有少数报头域用于所有的请求和响应消息,但并不用于被传输的实体,只用于传输的

消息。

Cache-Control:用于指定缓存指令,缓存指令是单向的 、独立的,HTTP1.0 使用的类似的报头域为 Pragma 。请求时的缓存指令包括: no-cache no-storemax-age max-stalemin-freshonly-if-cached;响应时的缓存指令包括:publicprivateno-cacheno-storeno-transformmust-revalidateproxy-revalidatemax-ages-maxage

Date:普通报头域表示消息产生的日期和时间。

Connection:普通报头域允许发送指定连接的选项。指定连接是断开还是连续的。

1.4.2请求报头:

Accept 用于指定客户端接受哪些类型的信息 

Accept-Charset 用于指定客户端接受的字符集 。(缺省全部字符集) 

Accept-Encoding 用于指定可接受的内容编码。(缺省接收可各种内容编码)

Accept-Language 用于指定一种自然语言。 (缺省可接受各种语言)

Authorization 主要用于证明客户端有权查看某个资源。可要求服务器对客户进行验证

Host 主要用于指定被请求资源的 Internet 主机和端口号

User-Agent允许客户端将它的操作系统、浏览器和其它属性告诉服务器

1.4.3.响应报头

响应报头允许服务器传递不能放在状态行中的附加响应信息,以及关于服务器的信息和对Request-URI所标识的资源进行下一步访问的信息。

Location 响应报头域用于重定向接受者到一个新的位置。Location 响应报头域常用在更换域名的时候。

Server 响应报头域包含了服务器用来处理请求的软件信息。与 User-Agent 请求报头域是相对应的。

WWW-Authenticate 响应报头域必须被包含在401(未授权的)响应消息中,客户端收到 401 响应消息时候,并发送 Authorization 报头域请求服务器对其进行验证时,服务端响应报头就包含该报头域。

1.4.4 实体报头

一个实体由实体报头域和实体正文组成,实体报头定义了关于实体正文(eg:有无实体正文)和请求所标识的资源的元信息。

Content-Encoding 实体报头域被用作媒体类型的修饰符,它的值指示了已经被应用到实体正文的

附加内容的编码,因而要获得 Content-Type 报头域中所引用的媒体类型,必须采用相应的解码机制 。

Content-Language 实体报头域描述了资源所用的自然语言。(缺省提供给所有的阅读者)

Content-Length 实体报头域用于指明实体正文的长度,以字节方式存储的十进制数字来表示。

Content-Type 实体报头域用语指明发送给接收者的实体正文的媒体类型。

Last-Modified 实体报头域用于指示资源的最后修改日期和时间。

Expires 实体报头域给出响应过期的日期和时间。为了让代理服务器或浏览器在一段时间以后更新缓存中的页面,可以使用Expires实体报头域指定页面过期的时间。如想让浏览器不要缓存页面,我们也可以利用Expires实体报头域,设置为0[ jsp中写法如下:response.setDateHeader("Expires","0"); ]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值