终于又回来了,先来简单整理一波http请求的信息。对于前端来说,不管是在面试还是在实际项目中,都有必要去了解一些关于http的信息。

http请求包含三部分:请求行request line、请求头request head、请求体request body。

对应的http响应也包含三部分:响应行,响应头,响应体;

请求行里包括请求的方法(get/post等),请求的地址,和http协议的版本;

响应行包括:请求的方法,响应的状态,响应的消息。如下图所示:

当请求的方法为get时,get顾名思义,获取的意思,主要示向服务器获取内容,在向服务器索取内容的时候,如果有需要提交给服务器的数据,是附加在url上的,以querystring的方式发送给服务器而不是放在request body里面。当请求的方法为post的时候,post主要就是向服务器发送数据的,会把数据放在request body里面。

下面逐一介绍请求头和响应头:

if-modify-since(浏览器端对文件最后的修改时间)和last-modify(服务器端最后的修改时间),

if-none-match和etag(资源的状态唯一标示符),

cache-control(缓存和响应所遵循的机制),

expires(文件在本地缓存的过期时间)。

accept在请求头,表示可以接受的媒体类型, 形式例如: (大类)/(子类);

accept-encode:在请求头,表示可以接受的编码方式,通常是指的压缩方式,什么压缩方法等;

content-encode:在响应头,表示服务器使用了什么样的压缩方式;

accept-language:请求头,表示接受何种语言;

content-language:响应头,表示返回的内容是何种语言的;

content-type:一般在post请求的请求头中,或者响应头中,表示的是请求体或者响应体的类型。

http协议小白知识有限,暂时先整理这一波,后续,再来详细整理一下http关于缓存方面的知识。

http请求整理的更多相关文章

  1. Asp.Net WebApi Post请求整理(一)

    Asp.Net WebApi+JQuery Ajax的Post请求整理 一.总结 1.WebApi 默认支持Post提交处理,返回的结果为json对象,前台不需要手动反序列化处理.2.WebApi 接 ...

  2. Asp.Net WebApi Get请求整理(一)

    Asp.Net WebApi+JQuery Ajax的Get请求整理 一.总结 1.Asp.Net WebApi默认不支持Get请求,需要在Action方法上指定[HttpGet], 除非Action ...

  3. jquery 同源跨域请求整理

    //同源ajax请求数据 function getData(url,paramjson,fn) { $.ajax({ type : "POST", //提交方式 url : url ...

  4. Asp.Net WebApi 项目及依赖整理

    一.目前版本 Microsoft ASP.NET Web API 2.2 对应程序集版本5.2.3 二.默认生成的配置文件中的内容 <packages> <package id=&q ...

  5. NodeJS入门简介

    NodeJS入门简介 二.模块 在Node.js中,以模块为单位划分所有功能,并且提供了一个完整的模块加载机制,这时的我们可以将应用程序划分为各个不同的部分. const http = require ...

  6. Asp.Net WebApi开启Session回话

    一.在WebApi项目中默认没有开启Session回话支持.需要在Global中的Init()方法中指定会员需要支持的类型 public class WebApiApplication : Syste ...

  7. Python全栈 项目(HTTPServer、PiP使用)

    pip是Python官方推荐的包管理工具   属于python的一部分            pip的使用    pip的安装             sudo apt-get install pyt ...

  8. python SimpleHTTPServer源码学习

    SimpleHTTPServer.SimpleHTTPRequestHandler继承了BaseHTTPServer.BaseHTTPRequestHandler. 源码中主要实现了BaseHTTPS ...

  9. java apache commons HttpClient发送get和post请求的学习整理(转)

    文章转自:http://blog.csdn.net/ambitiontan/archive/2006/01/06/572171.aspx HttpClient 是我最近想研究的东西,以前想过的一些应用 ...

随机推荐

  1. mysql系列一

    学习mysql必备工具即安装mysql客户端:mysql安装教程在网上有很多,在此处就不在仔细说明: 下面将仔细介绍一下关于SQL语句: SQL语句:结构化查询语言(Structured Query ...

  2. 关于python的GIL

    转自依云在知乎上的回答,链接为https://www.zhihu.com/question/27245271/answer/462975593 侵删. python的多线程,其实不是真的多线程,它会通 ...

  3. Element-ui树形控件el-tree获取父级节点的id

    Element-ui官网给的方法 getCheckedKeys() { console.log(this.$refs.tree.getCheckedKeys()); }, 这种只有在所有子级都被选中的 ...

  4. vue服务端渲染提取css

    vue服务端渲染,提取css单独打包的好处就不说了,在这里主要说的是抽取css的方法 要从 *.vue 文件中提取 CSS,可以使用 vue-loader 的 extractCSS 选项(需要 vue ...

  5. linux中安装node

    1.去官网下载和自己系统匹配的文件: 英文网址:https://nodejs.org/en/download/ 中文网址:http://nodejs.cn/download/ 通过 uname -a ...

  6. ListView学习

    ListView类 常用的基本属性 FullRowSelect:设置是否行选择模式.(默认为false)提示:只有在Details视图,该属性有效. GridLines:设置行和列之间是否显示网格线. ...

  7. docker学习(一) 安装

    一.什么是docker 参见https://baike.baidu.com/item/Docker/13344470?fr=aladdin 个人的理解是,通俗来说,就是相当于一个方便携带且个体独立的虚 ...

  8. 如何删除TFS项目

    TFS是先建集合,再在集合下面建项目.删除的时候,需要先删除项目,再删除集合,然后重新建.具体步骤如下: 1.删除项目        删除项目必须通过命令来进行删除,调用TFSDeleteProjec ...

  9. qt 编译unresolved external symbol的错误解决

    题外问题:.rc文件报错,里面引用的.h文件打不开. 方法:rc文件移除,然后重新添加就可以: unresolved external symbol的原因: 1.没有添加编译生成的moc文件,添加对应 ...

  10. 重写selenium 的 click()操作,使其变成隐式等待

    selenium 页面常会因为页面加载慢而出现element 不能被点击到的情况,比如加载过程中出现遮罩,导致element 可见不可点.以下方法重写click(),用隐式等待解决这个问题. 基本思路 ...