WEB服务器的工作原理
  

弓长先生丶 1638

{{ttag.title}}
WEB服务器的工作原理
1、建立连接
    在HTTP工作开始之前,web浏览器首先通过DNS解析域名,然后与Web服务器建立TCP连接。
2、发送请求
    Web服务器向Web服务器发送请求命令一旦建立了TCP连接,Web浏览器就会向Web服务器发送HTTP请求命令,包括HTTP头部等信息。
3、Web服务器应答
    客户机向服务器发出请求后,服务器会按请求给客户机回送响应,包括响应行,响应头和响应体。响应行包括协议的版本号和应答状态码。
4、Web服务器关闭TCP连接
    一般情况下,一旦Web服务器向浏览器发送了响应数据,他就要关闭TCP连接,然后如果浏览器或者服务器在其头信息加入了这行:Connection:keep-alive,TCP连接在发送后将任然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。

请求方法:
    在HHTP协议中,HTTP请求可以使用多种请求方法,这些方法指明了要以何种方式来访问Request-URL所标识的资源。
        Get请求获取由Request-URI所标识的资源
        POST请求服务器接收在请求中封装的实体,并将其作为由Request-Line中Request-URI所表示的资源的一部分
        Head请求获取由Request-URI所表示的资源的响应消息抱头
        PUT请求服务器存储一个资源,并用Request-URI作为其标识符
        Delete请求服务器删除由Request-URI所标识的资源
        Trace请求服务器回送到的请求信息,主要用于测试或诊断
        Connect保留将来使用
        Options请求查询服务器的性能,或者查询与资源相关的选项和需求
HTTP每行头域的格式为:
        域名 冒号( 域值
由以上三部分组成,域名是大小无关,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。
常见的几个请求头域
    Host头域:
        host请求报头域主要用于指定被请求的资源的internet主机和端口号,它通常从HTTP URL中提取出来的。
实例:
浏览器发送的请求消息中,就会包含Host请求报头域,如下:Host:localhost
此处使用缺省端口号80,若指定了端口号8080,则变成:Host:localhost:8080

    Accept头域:
作用:浏览器可以接受的媒体类型(MIME类型)
例如:Accept:text/html代表浏览器可以接受服务器回发的类型我text/html也就是我们常说的html文档,入个服务器无法返回text/html类型的数据,服务器应该返回一个406错误(non acceptable)
    通配符*代表任意类型。例如Accept:*/*代表浏览器可以处理所有类型,(一般浏览器发给服务器都是发这个)
    Cookie头域:
作用:最重要的header,将cookie的值发送给HTTP服务器
    Referer头域
作用:提供了Request的上下文信息服务器,告诉服务器我是从哪个连接过来的,比如我从主页上连接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的连接访问他的网站。防盗链通常也是根据这个头域来实现的。
例如:
Host:translate.google.cn
说明我是从http://google.cn/?hl=zh-cn&tab=wT来到translate.google.cn的

User-Agent头域:
作用:告诉HTTP服务器,客户端使用的操作系统和浏览器的名称和版本.
我们:User-Agent:Mozilla/4.0(compatible;MSIE8.0 ; Windows NT 5.1; Trident/4.0 ;CIBA;.NET CLR 2.0.50727;,.NET CLR 3.0.4506.2152;.NET CLR 3.5.30729;,NET4.0C;InfoPath.2;.NET4.0E)

Location头域
作用:Location响应抱头域用于重定向接受者到一个新的位置。例如:客户端所请求的页面已不存在原先的位置,为了让客户端重定向到这个页面新的位置,服务器端可以发挥Location响应抱头后使用重定向语句,让客户端去访问新的域名所对应的服务器上的资源;
Server头域:
作用:Server响应报头域包含了服务器用来处理请求的软件信息及其版本。它和User-Agent请求报文域是相对应的,前者发送服务器端软件的信息,后者发送客户端软件(浏览器)和操作系统的信息。

Content-Type头域:
作用:用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件。

Set-Cookie头域:
设置和页面关联的Cookie

打赏鼓励作者,期待更多好文!

打赏
暂无人打赏

Sangfor2419 发表于 2020-12-1 19:03
  
感谢楼主分享,楼主的帖子详细的介绍了一些web服务器的基本知识,对大家掌握web服务的运行有一定的帮助,期待楼主有更加精彩的分享~
Sangfor_闪电回_朱丽 发表于 2020-12-1 14:14
  
感谢楼主带来的知识分享,已将文章放入技术博客,以便让更多的用户关注和学习!

#原创分享计划#旨在收集大家在使用某公司产品功能和学习某公司产品技术的知识与经验,其它的内容暂不做收录,建议楼主可将这些学习笔记,投稿到#每日一记#中。具体的活动要求,请参考:
https://bbs.sangfor.com.cn/forum ... read&tid=127729
发表新帖
热门标签
全部标签>
每日一问
2024年技术争霸赛
干货满满
技术笔记
技术盲盒
GIF动图学习
秒懂零信任
技术咨询
新版本体验
2023技术争霸赛专题
通用技术
信服课堂视频
功能体验
产品连连看
标准化排查
安全攻防
网络基础知识
天逸直播
自助服务平台操作指引
答题自测
在线直播
深信服技术支持平台
技术晨报
齐鲁TV
华北区交付直播
每周精选
畅聊IT
专家问答
技术圆桌
MVP
安装部署配置
升级
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
运维工具
云计算知识
用户认证
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
玩转零信任
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
社区帮助指南
答题榜单公布
纪元平台
卧龙计划
华北区拉练
以战代练
山东区技术晨报
文档捉虫活动
北京区每日一练

本版达人

新手68983...

本周分享达人

零和一网络

本周提问达人