web服务器+web中间件+web容器&HTTP包的详细解释

web服务器

 

 

 

 

 web中间件

 

 

 

 

 

 

总结

 

 

 

HTTP原理过程

HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。

在浏览器地址栏键入URL,按下回车之后会经历以下流程:

1.浏览器向DNS服务器请求解析该URL中的域名所对应的IP地址;

2.解析出IP地址后,根据该IP地址和默认端口80,和服务器建立TCP连接;

3.浏览器发出读取文件(URL 中域名后面部分对应的文件)的HTTP请求,该请求报文作为TCP 三次握手的第三个报文的数据发送给服务器;

4.服务器对浏览器请求作出响应,并把对应的html文本发送给浏览器;

5.释放TCP连接;

6.浏览器将该html文本并显示内容;

 

HTTP客户端请求包

一个http请求代表客户端浏览器向服务器发送的数据。一个完整的http请求消息,包含一个请求行,若干个消息头(请求头),换行,实体内容

请求行:描述客户端的请求方式、请求资源的名称、http协议的版本号。例如: GET/B0OK/JAVA. HTML HTTP/1. 1

请求头(消息头)包含(客户机请求的服务器主机名,客户机的环境信息等) :

Accept:用于告诉服务器,客户机支持的数据类型(例如: Accept: text/html, image/*)Accept-Charset:用于告诉服务器,客户机采用的编码格式

Accept-Encoding:用于告诉服务器,客户机支持的数据压缩格式

Accept-Language:客户机语言环境

Host:客户机通过这个服务器,想访问的主机名

f Modified Since:客户机通过这个头告诉服务器,资源的缓存时间

Referer:客户机通过这个头告诉服务器,它(客户端)是从哪个资源来访问服务器的(防盗链)

User- Agent:客户机通过这个头告诉服务器,客户机的软件环境(操作系统,浏览器版本等)

Cookie:客户机通过这个头,将Coockie信 息带給服务器

标黄的三个容易被篡改利用攻击


Conneotion:告诉服务器,请求完成后,是否保持连接

●Date:告诉服务器,当前请求的时间

(换行)

实体内容:

就是指浏览器端通过http协议发送给服务器的实体数据。例如: name=dy lan&id=1 10(get请求时,通过ur |传给服务器的值。post请 求时,通过表单发送給服务器的值)

 

 

HTTP服务器端响应包

一个http响应代表服务器端向客户端回送的数据,它包括:一个状态行,若干个消息头,以及实体内容

响应头(消息头)包含:

Location:这个头配合302状态吗,用于告诉客户端找谁

Server:服务器通过这个头,告诉浏览器服务器的类型

Content -Encoding:告诉浏览器,服务器的数据压缩格式

Content-Length:告诉浏览器,回送数据的长度

Content-Type:告诉浏览器,回送数据的类型

Last-Modified:告诉浏览器当前资源緩存时间

Refresh:告诉浏览器,隔多长时间刷新

Content-Disposition:告诉浏览器以下载的方式打开数据。例如: context. Response. AddHeader (" Content -Di sposition",”at tachment :filename-aa. jpg") ;

 

HTTP响应状态码

所有HTTP响应的第一行都是状态行,依次是当前HTTP版本号,3位数字组成的状态代码,以及描述状态的短语,彼此由空格分隔。

状态代码的第一个数字代表当前响应的类型:

1xx消息一请求已被服 务器接收,继续处理

2xx成功一一请求已成功被服务器接收、理解、并接受

3xx重定向一一需 要后续操作才能完成这一请求

4xx请求错误一-请求 含有词法错误或者无法被执行

5xx服务器错误一服 务器在处理某个正确请求时发生错误

虽然RFC 2616中已经推荐了描述状态的短语,例如"200 0K","404 Not Found", 但是WEB开发者仍然能够自行决定采用何种短语,用以显示本地化的状态描述或者自定义信息。

 

posted @ 2021-06-24 21:50  Erichas  阅读(303)  评论(0编辑  收藏  举报