Java Web学习日志(HTTP基础知识)

1.C/S和B/S

C/S是客户端/服务器模式,它是软件系统体系结构,通过它可充分利用两端硬件的优势,将任务合理分配到两端实现,降低开销

B/S是浏览器/服务器模式,在这种模式下,WEB浏览器使用户最主要的应用软件,这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上。

2.HTTP基础知识

HTTP是超文本传输协议的简称,他是Web应用的核心。HTTP协议由两部分程序实现:一个客户端程序和一个服务器程序,它们运行在不同的端系统,通过交换HTTP报文进行会话。

1.2.1.HTTP请求和响应

HTTP所采用的是请求、相应模型,HTTP消息有两种:请求和相应。用户请求和web应用程序响应需要两个计算机的信息交互,所用的协议就是HTTP协议。

HTTP协议是一个无状态协议,其客户端需要与服务器建立一个连接并将一则请求消息通过连接发送到HTTP服务器,以请求需要的资源。之后服务器返回带有请求资源的响应信息,一旦回答请求之后,服务器就断开与客户端的连接,这样就没有存储连接信息。故称为无状态协议。

1.HTTP请求

用户向服务器请求信息的过程就叫做HTTP请求

(1)请求行

包括方法(GET/POST)、URL和HTTP协议版本。

(2)头信息

Host头指示客户端请求的主机,Accept头提供有关客户端可以接受的MIME类型列表。

在头信息后客户端发送一空行,指示请求信息的结束。

2.HTTP响应

(1)状态行

第一行是状态行,先是HTTP版本号,再加状态码

(2)头信息

第二行到结束,分别是:日期、请求信息正文的长度及请求信息正文的类型等信息

1.2.2.GET和POST方法

1.GET方法

GET方法适用于多数请求,GET用于信息获取,而且应该是安全的(只适用于获取信息而非修改信息)和幂等的(简而言之,就是x^y=x,幂等是指多个请求返回相同的结果)。

2.POST方法

POST是网页表单中提交方式之一,method="POST".POST方法在表单的主干包含名称/值对,相当于把相关请求保存到用户请求字段中,并暴露出来

3.GET和POST比较

(1)提交方式

GET提交:请求的数据回复加载URL后,用?分割URL和传输数据,多个参数用&连接。

POST提交:把提交的数据放置在HTTP包的包体中。

(2)传输数据的大小

GET:特定浏览器和服务器对URL长度有限制,eg:IE为20893字节。

POST:由于不是通过URL传值,理论不受限。

(4)安全性

POST的安全性比GET安全性高。

由于GET提交的方式决定了GET只适合提交一些非敏感性且不太长的内容,而POST则提交如用户密码等敏感信息。

如果有写的不对的地方,欢迎指正,希望能够共同进步,谢谢!
原文地址:https://www.cnblogs.com/zzuzhouxiang/p/10633002.html