欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

学点HTTP知识

程序员文章站 2022-04-23 07:59:53
...

不学无术

又一次感觉到不学无术,被人一问Http知识尽然一点也没答上来,丢人丢到家了啊。平时也看许多的技术文章,为什么到了关键时刻就答不上来呢?

确实发现一个问题,光看是没有用的,需要实践。看别人说的头头是道自己也觉得理解了,但发现再让自己复述一遍可能完全就答不上来。这就是因为看别人的文章更像看小说,脑子里跟着作者的思路感觉好像挺懂的,其实也就是过眼云烟。所以想要学好技术

  • 一方面是要看别人的总结,比如文章、书、源代码
  • 然后就是要自己去总结,比如写写博客,跑跑书里面的代码,这样可以加深理解。
  • 最后就是要去用,特别是在工作中。如果一项技能已经用的非常熟练了想要忘都难。

为了让自己对HTTP知识多一点印象,写一篇博客吧。由浅入深,慢慢来。

先简单认识http

HTTP是超文本传输协议,这个协议是应用层协议。我的理解是在服务器生成一段文本,在网络上传输,客户端可以对其解析成视图并提供交互。

http是由请求与响应构成,在设计时是无状态协议,这样每一次的操作基本就是客户端发起请求,服务端返回响应。

Http请求与响应都包含:请求行、消息头和消息体。

常见的Header

说起header不复杂,但细细一看蛮多学问在里面,只不过确实有点多,主要是还是先关注一些常见的吧。

通用头域

  • Cache-Control:指定请求和响应遵循的缓存机制
  • Connection:keep-alive:保持与服务器的TCP连接
  • Date:消息发送的日期时间
  • Pragma:用来包含实现特定的指令,最常用的是Pragma:no-cache。在HTTP/1.1协议中,它的含义和Cache-Control:no-cache相同。
  • Transfer-Encoding:chunked:分块编码

Request Header

  • Request URL:请求的URL
  • Request Method:请求的方法(OPTIONS、HEAD、GET、POST、PUT、DELETE、TRACE、CONNECT、PATCH)
  • Remote Address:远程服务器的地址
  • Accept:指定客户端接收的MIME类型(text/html,application/xhtml+xml,application/xml)
  • Accept-Encoding:指定客户端接收的编码,通常用于指定压缩算法(gzip, deflate, sdch)
  • Accept-Language:指定客户端接收的语言(zh-CN,zh)
  • Accept-Charset:指定客户端接收的字符集(gb2312,uft-8)
  • Cookie:客户端cookie信息
  • Host:请求的域
  • User-Agent:发起请求的用户信息,操作系统、浏览器版本等
  • If-Modified-Since:服务器上一次修改的时间

response header

  • Content-Encoding:响应包的编码及压缩算法(gzip)
  • Content-Type:响应包的资源类型(text/html; charset=utf-8)
  • Expires:过期时间
  • Last-Modified:最后修改时间

常见的状态码

  • 200:请求已成功
  • 201:请求已经被实现,而且有一个新的资源已经依据请求的需要而建立,且其 URI 已经随Location 头信息返回
  • 301/302:重定向
  • 304:客户端请求的资源未修改
  • 400:错误的请求包
  • 404:请求失败,指定资源未找到
  • 500:服务器内部错误,通常是服务器出错了没法返回响应包

注:此文章为原创,欢迎转载,请在文章页面明显位置给出此文链接!
若您觉得这篇文章还不错请点击下右下角的推荐,非常感谢!
http://www.cnblogs.com/5207
相关标签: 学点HTTP知识