标签:一个 web服务器 组成 支持 无法 换行 gen 中间件 响应
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开发者仍然能够自行决定采用何种短语,用以显示本地化的状态描述或者自定义信息。
web服务器+web中间件+web容器&HTTP包的详细解释
标签:一个 web服务器 组成 支持 无法 换行 gen 中间件 响应
原文地址:https://www.cnblogs.com/byErichas/p/14928740.html