在学习javaweb之前,让我们先来了解一些简单的小的方面的细节知识;

URL:统一资源定位符,代表资源的地址信息。
URN:用来代表资源的某一个独一无二的名称。
URI:作为一种新的标准,URL和URI都是其子集。
在网站中我们通常需要发出请求和做出响应:一般分为两种get和post
get请求是向服务器获取指定的资源,特点:请求参数的长度是有限的,对于太大量信息的数据是不适合用get来进行请求的。
请求参数是在URL后面跟上一个?号,然后是请求参数名称和请求参数值之间通过(=)进行成对连接的,如果存在多对的情况,则需要利用&来连接
post请求是请求时发布信息给服务器,对于大量的信息通常使用post请求
关于get和post请求的选用:
get请求后面的请求参数的长度是确定的,一般比较长的数据都会使用post请求
get请求的地址栏中会出现请求参数,一般关于个人敏感的信息都不会使用get请求,而是使用post
而使用post请求的时候,请求参数不会出现在地址栏中,因此无法加入到浏览器的书签中,则应该使用get请求
另外,get请求不改变服务器上的数据或者状态,如果仅仅是为了获取数据,则应该使用get请求;如果需要更改服务器的状态,则用post请求;
一个简单的请求访问的例子:
(1)首先由客户端对web服务器发出Http请求
(2)在接收到http请求之后会转发给web容器进行处理,web容器会根据请求进行解析,进而创建各种对象
(3)web容器会根据URL来决定由哪一个servlet来处理问题 
(4)servlet会根据请求对象的信息决定如何处理,通过响应对象来创建响应。
(5)web容器和http服务器进行沟通,web服务器把响应通过http响应传给客户端。

客户端和服务器中首先我们区分一下B/S和C/S:

B/S即为:Browser/Server浏览器服务器架构,优点:可移植性好,缺点:安全性较低,用户体验效果较差;

C/S即为:Client/Server,客户端服务器架构,优点:较为安全,不联网无法被攻击,用户体验较好;缺点:每次升级都需要重新安装,可移植性较差;

B/S的三种基本结构:

HTTP请求和服务器

对于上面的三部分我们通过一个简单的访问例子来说明它们之间的关系:

当用户在浏览器中输入WWW.baidu.com,(http请求的过程)通过域名解析的作用,会转化为一个IP地址,一个IP地址对应一个唯一的电脑主机,这些要访问的信息都在这台电脑里面存放着,通过端口找到对应的服务器之后,服务器从数据库中找到需要的信息,这些信息会传给服务器,服务器会把这些信息传给客户端(http响应的过程)。

关于协议:双方交流的一种约定

HTTP协议:超文本传输协议,是互联网上使用最广泛的一种协议,所有的www文件都必须遵循这个协议,HTTP的组成部分分为请求和响应,一般情况下请求和响应都是成对存在的。

请求发送的四中方式:

通过地址栏访问

通过a标签里面的href属性

img标签里面的src属性

form表单里面的action属性

请求包括:请求包括请求行、请求头以及请求体

请起行包括:请求的方法,URL以及HTTP的版本

请求包括:一些访问的基本信息

请求体包括:访问的一些内容信息

同理,在响应的时候响应行,响应头以及响应体包含同样的信息。

请求方式分为8种:分别如下

HTTP请求和服务器

下面是关于最常见的两个访问方式:get和post 

HTTP请求和服务器

相关文章: