Java网络编程 03HTTP

本文探讨了Java网络编程中的HTTP请求过程,包括建立连接、发送请求、接收响应以及HTTP1.1的长连接特性。此外,详细阐述了Cookie的工作原理,如Set-Cookie、作用域、过期时间、安全属性以及Java中的Cookie管理、策略和存储机制。

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

目录

HTTP请求

客户端请求:

服务器响应:

HTTP方法

Cookie作用域:Domain / Path

Cookie过期:expires / Max-Age

Cookie安全性:secure / httponly

Cookie编程:CookieManager / CookiePolicy / CookieStore

CookieManager cookie管理

CookiePolicy cookie策略

CookieStore cookie存储


HTTP请求

浏览器中,输入www.baidu.com,然后回车,到底背后发生了什么呢?

HTTP建立在TCP/IP之上,属于应用层协议。HTTP连接底层使用TCP/IP来传输数据。对于从客户端发往服务器的每一个HTTP1.0请求,都有四个步骤:

1:建立连接:默认情况下,客户端在端口80打开与服务器的一个TCP连接。

2:发送请求:客户端向服务器发送请求信息,请求指定路径上的资源。

3:应答响应:服务器向客户端发送响应信息。

4:关闭连接:服务器关闭连接。

以上是传统的HTTP1.0版本时代的四个基本步骤。现在都是HTTP1.1及以后的版本时代,HTTP1.1之后,可以建立连接后,要求保持长连接状态(Connection:keep-alive),这样第2,3两步就可以反复的进行,这样有更好的扩展性以及高效率(因为每次建立连接/关闭连接带来的网络开销和延迟,比数据包传输时的耗时更多)


请求信息举例:http://211.156.201.13:7001/cnpl/xx.jsp?entityid=1&_dc=2

请求首行:

GET /cnpl/xx.jsp HTTP1.1

请求头部:

Accepttext/html,application/xhtml+xml,application/xml;客户端能接受的响应内容类型
Accept-Encodinggzip, deflate客户端能接受的响应内容编码
Accept-Languagezh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3客户端能接受的响应内容语言
Content-Typeapplication/x-www-form-urlencoded客户端请求信息的类型
Cookief5_cspm=1234; ys-cnpl.iwms.projectId=n%3A1028491; 客户端发送给服务器的Cookie
Host211.156.201.13:7001客户端想要访问的服务器主机
User-AgentMozilla/5.0 Firefox/47.0客户端的浏览器版本
X-Requested-With

XMLHttpRequest

客户端支持Ajax技术
Connectionkeep-aliveHTTP1.1版本的长连接技术

请求参数:

entityid=1&_dc=2

客户端请求:


服务器响应:

响应内容:HTTP/1.1版本(支持长连接)、200状态码、OK成功

响应状态码:1XX、2XX、3XX、4XX、5XX


HTTP方法

方法名方法功能描述
GET静态页面:用于获取服务器的静态页面
POST提交表单:提交客户端浏览器里的页面中的表单数据至服务器
PUT上传文件:上传客户端浏览器里的页面中的资源文件至服务器
DELETE删除资源:删除服务器上的指定资源
HEAD类似GET,但是它只返回响应头信息,常用于检查本地缓存文件是否过期
OPTIONS询问服务器是否可处理指定的资源
TRACE回显客户端请求信息进行调试,特别是代理服务器不正常时


Cookie作用域:Domain / Path

 


Cookie过期:expires / Max-Age


Cookie安全性:secure / httponly


Cookie编程:CookieManager / CookiePolicy / CookieStore

CookieManager cookie管理


CookiePolicy cookie策略


CookieStore cookie存储

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值