Java网络编程 03HTTP

目录

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

请求头部:

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

XMLHttpRequest

客户端支持Ajax技术
Connection keep-alive HTTP1.1版本的长连接技术

请求参数:

entityid=1&_dc=2

客户端请求:

Java网络编程 03HTTP_第1张图片


服务器响应:

Java网络编程 03HTTP_第2张图片

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

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


HTTP方法

Java网络编程 03HTTP_第3张图片

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

Cookie

Java网络编程 03HTTP_第4张图片


Cookie作用域:Domain / Path

 


Cookie过期:expires / Max-Age


Cookie安全性:secure / httponly

Java网络编程 03HTTP_第5张图片Java网络编程 03HTTP_第6张图片


Cookie编程:CookieManager / CookiePolicy / CookieStore

CookieManager cookie管理

Java网络编程 03HTTP_第7张图片


CookiePolicy cookie策略

Java网络编程 03HTTP_第8张图片

Java网络编程 03HTTP_第9张图片


CookieStore cookie存储

你可能感兴趣的:(Java,网络编程)