HTTP小结

一、web及网络基础

TCP/IP :

TCP/IP 协议族里重要的一点就是分层。 TCP/IP 协议族按层次分别分为以下 4 层: 应用层、 传输层、 网络层和数据链路层。 

应用层:应用层决定了向用户提供应用服务时通信的活动。(FTP  DNS属于此层)
传输层: 提供处于网络连接中的两台计算机之间的数据 传输。 (TCP UDP协议)
网络层: 网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数 据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方计 算机,并把数据包传送给对方。
链路层: 用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱 动、 NIC Network Interface Card ,网络适配器,即网卡),及光纤等 物理可见部分(还包括连接器等一切传输媒介)。硬件上的范畴均在 链路层的作用范围之内。

IP、TCP和DNS

IP协议

IP协议位于网络层,作用是把数据包传送给对方IP 地址指明了节点被分配到的地址,MAC 地址是指网卡所属的固定地址。

TCP协议

TCP协议位于传输层,提供可靠的字节流服务。为了将数据准确的送到目标处,TCP协议采用三次握手策略。

除了三次握手,还有四次挥手等其他手段来保障通信的可靠性。

DNS服务

DNS是一个域名系统,是万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。

 各种协议与HTTP协议的关系

URI与URL

URI标记了一个互联网资源,URL表示资源地址。URL是URI的子集。

 二、简单的HTTP协议

HTTP 是不保存状态的协议

在这里列举的众多方法中, LINK UNLINK 已被 HTTP/1.1 废弃,不再支持。

持久连接节省通信量 

持久连接与管线化

使用 Cookie 的状态管理

上图展示了发生 Cookie 交互的情景, HTTP 请求报文和响应报文的内容如下。

三、HTTP 报文内的 HTTP信息

请求报文及响应报文的结构

 

 编码提升传输速率

常用的内容编码有以下几种。
gzip GNU zip
compress UNIX 系统的标准压缩)
deflate zlib
identity (不进行编码)
分割发送的分块传输编码

发送多种数据的多部分对象集合

媒体类型(通常称为  Multipurpose Internet Mail Extensions  MIME 类型  )是一种标准,用来表示文档、文件或字节流的性质和格式。
类型描述典型示例
text普通文本text/plain, text/html, text/css, text/javascript
image某种图像image/gif, image/png, image/jpeg, image/bmp
audio音频文件audio/midi, audio/mpeg, audio/webm, audio/ogg, audio/wav
video视频文件video/webm, video/ogg
application二进制数据application/octet-stream, application/pkcs12,

 获取部分内容的范围请求

四、返回结果的 HTTP 状态

分类原因
1xx
Informational (信息性状态码)
接收的请求正在处理
2xx
Success (成功状态码)
请求正常处理完毕
3xx
Redirection (重定向状态码)
需要进行附加操作以完成请求
4xx
Client Error (客户端错误状态码)
服务器无法处理请求
5xx
Server Error (服务器错误状态码)
服务器处理请求出错

状态码英文描述中文描述
200OK请求成功。一般用于GET与POST请求。
204No Content无内容。服务器成功处理,但未返回内容。
206Partial Content部分内容。
301Moved Permanently永久性重定向。今后任何新的请求都应使用新的URI代替。
302Found临时性重定向。
303See Other查看其它地址。
304Not Modified未修改。服务器返回此状态码时,不会返回任何资源。
307Temporary Redirect临时重定向。
400Bad Request客户端请求的语法错误,服务器无法理解。
401Unauthorized请求要求用户的身份认证。
403Forbidden拒绝执行此请求。
404Not Found服务器无法根据客户端的请求找到资源(网页)。
500Internal Server Error服务器内部错误,无法完成请求。
503Service Unavailable由于超载或系统维护,服务器暂时的无法处理客户端的请求。
504Gateway Time-out充当网关或代理的服务器,未及时从远端服务器获取请求。

五、与HTTP协作的web服务器

用单台虚拟主机实现多个域名

通信数据转发程序 :代理、网关、隧

代理:代理是一种有转发功能的应用程序,它扮演了位于服务器和客户端“中间人”的角色,接收由客户端发送的请求并转发给服务器,同时也接收服务器返回的响应并转发给客户端。

网关:网关是转发其他服务器通信数据的服务器,接收从客户端发送来的请求时,它就像自己拥有资源的源服务器一样对请求进行处理。有时客户端可能都不会察觉,自己的通信目标是一个网关。

 隧道:隧道是在相隔甚远的客户端和服务器两者之间进行中转,并保持双方通信连接的应用程序。

六、HTTP首部

4 种 HTTP 首部字段类型

通用首部字段(General Header Fields)
请求报文和响应报文两方都会使用的首部。
请求首部字段(Request Header Fields)
从客户端向服务器端发送请求报文时使用的首部。补充了请求的附加内容、客户端信息、响应内容相关优先级等信息。
响应首部字段(Response Header Fields)
从服务器端向客户端返回响应报文时使用的首部。补充了响应的附加内容,也会要求客户端附加额外的内容信息。
实体首部字段(Entity Header Fields)
针对请求报文和响应报文的实体部分使用的首部。补充了资源内容更新时间等与实体有关的信息。

HTTP/1.1 首部字段一览

通用首部字段

请求首部字段

响应首部字段

实体首部字段

为COOKIE服务的首部字段

 set-cookie字段属性

 其他首部字段

X-Frame-Options

首部字段 X-Frame-Options 属于 HTTP 响应首部,用于控制网站内容在其他Web网站的Fram标签内的显示问题。其主要目的是为了防止点击劫持(clickjacking)攻击。

DENY:拒绝
SAMEORIGIN:仅同源域名下的页面匹配时许可

X-XSS-Protection

首部字段 X-XSS-Protection 属于HTTP响应首部,它是针对跨站脚本攻击(XSS)的一种对策,用于控制浏览器XSS防护机制的开关。

0 :将 XSS 过滤设置成无效状态

1 :将 XSS 过滤设置成有效状态

DNT

首部字段 DNT属于HTTP请求首部,其中DNT是Do Not Track的简称,意为拒绝个人信息被收集,是表示拒绝被精准广告追踪的一种方法。

0 :同意被追踪

1 :拒绝被追踪

P3P

首部字段 P3P 属于HTTP相应首部,通过利用P3P(The Platform for Privacy Preferences,在线隐私偏好平台)技术,可以让Web网站上的个人隐私变成一种仅供程序可理解的形式,以达到保护用户隐私的目的


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值