• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >心得技巧 > http 请求头设置

http 请求头设置

作者:ldyeyuguo1346 字体:[增加 减小] 来源:互联网 时间:2017-09-11

本文主要包含浏览器,http协议等相关知识,ldyeyuguo1346希望在学习及工作中可以帮助到您

参考文章
三部分组成: 状态行、请求头、消息主体

头信息

  • [method]:GET/POST
  • Content-Type : 提交的数据编码方式 (详情见后)
  • If-Modified-Since:告诉浏览器是否需要返回新的资源,不返回,使用本地,响应 304 Not Modified
  • Connection:【Keep-Alive】,默认是不设置,设置了,不用重新建立(TCP连接), 请求头里有该信息,响应头里也会有该信息
  • Content-Length : 数据长度 (动态生成的文件没有该属性,是以 Transfer-Encoding[chunked] 分块传输)
  • Transfer-Encoding :chunked (数据的传输格式)

表头信息解释

Content-Type

Content-Type(POST 方式的):

  • application/x-www-form-urlencoded 表单方式 【浏览器 默认是该种方式】
  • multipart/form-data 使用表单上传文件时,必须让 表单的 enctype 等于 multipart/form-data

Content-Type(其他方式)

前提是服务器端能解析Content-Type 和 Content-Encoding 的以下几种方式

  • application/json
  • text/xml xml 格式
  • application/x-protobuf 二进制格式
  • multipart
消息主体 Content-Type

参考文章

POST http://www.example.com HTTP/1.1
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryrGKCBY7qhFd3TrwA

------WebKitFormBoundaryrGKCBY7qhFd3TrwA
Content-Disposition: form-data; name="text"

title
------WebKitFormBoundaryrGKCBY7qhFd3TrwA
Content-Disposition: form-data; name="file"; filename="chrome.png"
Content-Type: image/png

PNG ... content of chrome.png ...
------WebKitFormBoundaryrGKCBY7qhFd3TrwA--
Connection

是否与服务器端保持连接

如何知道 服务器 与 客户端(浏览器) 断开连接

  • Keep-Alive: timeout=5, max=100 表示tcp保持连接5s,最多100次请求后就断开

GET

仅仅用于信息获取
例如

GET /books/?sex=man&name=Professional HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)
Gecko/20050225 Firefox/1.0.1
Connection: Keep-Alive

POST

用于提交资源修改

POST / HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)
Gecko/20050225 Firefox/1.0.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 40
Connection: Keep-Alive
// 请求body
sex=man&name=Professional

GET 与 POST 对比

1.http URL

GET http URL 的长度有限制;
POST http URL 的长度没有限制;

2.请求信息

GET 请求信息在 URL 里
POST 请求信息在 请求body 里

http 响应报文

三部分组成: 状态行、响应头(Response Header)、响应正文

状态行

状态行由协议版本、数字形式的状态代码、及相应的状态描述,各元素之间以空格分隔。

常见状态信息解释

  • 200 OK 客户端请求成功
  • 301 Moved Permanently 请求永久重定向
  • 302 Moved Temporarily 请求临时重定向
  • 304 Not Modified 文件未修改,可以直接使用缓存的文件。
  • 400 Bad Request 由于客户端请求有语法错误,不能被服务器所理解。
  • 401 Unauthorized 请求未经授权。这个状态代码必须和WWW-Authenticate报头域一起使用
  • 403 Forbidden 服务器收到请求,但是拒绝提供服务。服务器通常会在响应正文中给出不提供服务的原因
  • 404 Not Found 请求的资源不存在,例如,输入了错误的URL
  • 500 Internal Server Error 服务器发生不可预期的错误,导致无法完成客户端的请求。
  • 503 Service Unavailable 服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常。

HTTP Pipelining(HTTP 管线化)

非 Pipelining 方式:请求1 -> 响应1 -> 请求2 -> 响应2 -> 请求3 -> 响应3。
Pipelining 方式:请求1 -> 请求2 -> 请求3 -> 响应1 -> 响应2 -> 响应3;[仅 HTTP/1.1 支持此技术]

特点:

  • 管线化机制通过持久连接(persistent connection)完成,仅 HTTP/1.1 支持此技术(HTTP/1.0不支持)
  • 只有 GET 和 HEAD 请求可以进行管线化,而 POST 则有所限制
  • 初次创建连接时不应启动管线机制,因为对方(服务器)不一定支持 HTTP/1.1 版本的协议
  • 管线化不会影响响应到来的顺序,如上面的例子所示,响应返回的顺序并未改变
  • HTTP /1.1 要求服务器端支持管线化,但并不要求服务器端也对响应进行管线化处理,只是要求对于管线化的请求不失败即可
  • 由于上面提到的服务器端问题,开启管线化很可能并不会带来大幅度的性能提升,而且很多服务器端和代理程序对管线化的支持并不好,因此现代浏览器如 Chrome 和 Firefox 默认并未开启管线化支持

会话跟踪

跨站攻击

您可能想查找下面的文章:

  • 浅谈浏览器的兼容模式下的button中文字垂直方向不居中显示
  • 关于遇到的浏览器兼容问题及应对方法(推荐)
  • 浅谈JavaScript中浏览器兼容的问题
  • 让网页自动调用双核浏览器的极速模式(Webkit)
  • 深入理解指定IE浏览器渲染方式
  • 清除css、javascript及背景图在浏览器中缓存的简单方法
  • 前端开发必备:12款浏览器兼容性测试工具推荐
  • 为网站设置icon图标用于显示在浏览器标签页最左侧
  • 手机浏览器不支持position: fix的解决方法
  • 浏览器缓存相关http头尽量减少http的请求次数

相关文章

  • 2018-08-23无论趋势怎么变,掌握这些设计节奏就不怕过时!
  • 2018-08-23取消了Home键的 iPhone X,交互方式都有哪些变化?
  • 2018-08-23这个博主靠P图收获了100多万粉丝,原因竟然是…
  • 2017-08-06Apple Watch 交互设计中四个全然不同以往的经验揭密
  • 2018-08-23高手课堂!3招搞定数字元素在Banner及专题页设计中的运用
  • 2017-08-06关于自适应布局的处理(利用浮动和margin负边距实现)
  • 2017-08-06关于调试CSS跨浏览器样式bug的问题
  • 2017-08-06web前端工程师入门须知 推荐
  • 2018-08-23看完这篇基础科普,别再说你不会用点九图了!
  • 2018-08-23这8条走心的建议,帮你设计出更加优秀的排版

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 网页常用分享代码大全(前端必备)
    • 2018最具设计感录取通知书,看完让人想复读!
    • 编制网站首页的基本原则
    • 想进阶成PPT 高手?得先学会这些高级动画特性!
    • 超全面!一个完整的交互设计稿有哪些必备元素?
    • 学会5WH产品需求分析方法,再也不用熬夜改稿了!(上)
    • 无印良品是怎么做设计的?来看看背后的流程!
    • 从设计指南说起,详解iOS系统组件分类体系
    • 遵守这8个原则,帮你创建用户友好型表单
    • 让设计不再是小透明!超全面的用户引导设计指南

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有