一、http协议的基础知识(请求方法、状态码、响应头信息、协议的URL)

1、请求方法:

 (1) http1.0请求包含 head、get、post

 (2)http1.1请求包含head、get、post、options、put、delete、trace、connect

 (3)get请求的标准格式是:<路径>【?<arg1>=<value1>[&<arg2>=<value2>....]】,例如http://ceshi.com/get.php?arg1=value1;get请求可以只有请求的路径:http://www.baidu.com;也可以不包含Content-Length;也可以带需要传递的数据,在访问路径后带?参数=值的方式发送;服务器端的响应也是使用相应的函数来进行响应。get可以理解为查询select,不会对数据进行任何的修改,新增,删除等操作。get请求会把请求的参数附加在URL后面,这样是不安全的。

 (4)post,post请求是包含数据,请求数据的格式主要有:

    表单格式:application/x-www-form-urlencoded:表单方式与GET方式类似,只是把数据放在头文件下面的请求正文区域。
    混合格式:multipart/form-data:混合模式一般是用来传输文件。后面会跟boundary=__xxxx__来进行每个参数的分割。表单中把type类型改为file就可以上传文件。<input type="file" name= "file" id= "file" />。
    JSON格式:application/json  :常见类型为json,xml,plain
    XML格式:text/xml     :常见类型为json,xml,plain
    文本:text/plain  :常见类型为json,xml,plain,这种类型的数据,需要服务端代码自行解析。
  (5)head,head返回内容基本于post,get基本一致,不返回数据部分。
 

2、请求的组成:

  由请求行、消息报头、请求正文组成

  (1)请求行以方法符号开头,空格隔开,后面跟着请求的URL和协议版本,例如:Method Requst-URL http-Version(CR)(LF)

  (2)消息包头允许客户端向服务器传递请求的附加信息以及客户端自身的信息。常用的报头有 accept,acceptcharset,Accept-Encoding,Accept-Langvage,Authorization,Host(发送请求是,host是必须的),User-agent

3、响应码:

  这里可以自行查网络上的信息,基本的就是2xx是响应成功;3xx是找到资源,重定向;4xx是未找到资源;5xx是服务器没响应。

4、常用标准响应字段

  access:服务器支持那些请求方法,get,post

  connection:当client和server通信时对于长链接如何进行处理,有keep-alive和close

  content-Encoding:文档的编码方法

  content-Length:表示内容长度

  content-Type:表示后面的文档属于什么MIMe类型

  Date:当前的GMT。

  Expries:应该在什么时候认为文档已经过期,从而不在缓存它

  Last-Modified:文档的最后改动时间。

  Location:表示客户莹当到哪里去提取文档

  Refresh:表示浏览器应该在多少时间之后刷新文档,以妙记

  server:服务器的名字

  set-Cookie:设置和页面关联的cookie

5、什么是URL

  URL是统一资源定位符,是互联网上标准资源的地址

  URL包含:协议、用户名:密码、主机-子域名.顶级域名、端口号、目录/文件名.文件后缀、参数=值、标志

  URL格式:协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志

http://v.weixiaov.wang:80/wx6/php/check.php?args=

  相对URL,/目录/文件名.文件后缀?参数=值#标志

  URL编码格式为16进制的,只有数字和大小写字母,以及一些特殊符号$,-,_,. +!* ' () 以及某些保留字,才能不经过编码直接用于URL。

  

CISP_PTE学习的更多相关文章

  1. 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代

    2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...

  2. Angular2学习笔记(1)

    Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...

  3. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  4. 消息队列——RabbitMQ学习笔记

    消息队列--RabbitMQ学习笔记 1. 写在前面 昨天简单学习了一个消息队列项目--RabbitMQ,今天趁热打铁,将学到的东西记录下来. 学习的资料主要是官网给出的6个基本的消息发送/接收模型, ...

  5. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  6. Unity3d学习 制作地形

    这周学习了如何在unity中制作地形,就是在一个Terrain的对象上盖几座小山,在山底种几棵树,那就讲一下如何完成上述内容. 1.在新键得项目的游戏的Hierarchy目录中新键一个Terrain对 ...

  7. 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...

  8. 菜鸟Python学习笔记第一天:关于一些函数库的使用

    2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的 ...

  9. 多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)

    前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...

  10. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

随机推荐

  1. git 拉取远端别的分支的代码,并创建本地分支

    创建本地分支 new_dev, 并且拉取远端new_dev的代码到本地new_devgit checkout -b new_dev origin/new_dev

  2. 表单笔记-Antd(Form)

    antd表单使用笔记 import React, { useState, useEffect, useRef } from "react"; import { Form, Inpu ...

  3. Python项目案例开发从入门到实战 - 书籍信息

    Python项目案例开发从入门到实战 - 爬虫.游戏和机器学习(微课版) 作者:郑秋生 夏敏捷 清华大学出版社 ISBN:978-7-302-45970-5

  4. 根据已知经纬度导出对应地点的NDVI值

    首先把经纬度和NDVI投影到同一个坐标上,其次把excel的经纬度到出城shp格式 然后执行如下步骤: [工具][spatial analyst 工具][提取分析][多值提取至点]

  5. Python学习笔记--列表来啦!

    列表的定义格式 示例: 列表的下标索引(千万别超出范围!!!) 示例: 正向和反向 取出嵌套列表的元素:(二维数组) 列表的常用的操作方法 查找某元素的下标 示例: 修改元素 插入元素 示例: 追加元 ...

  6. Activiti7开发(五)-我的审批历史

    查看本人审批过的历史 public AjaxResult historyFromData(@RequestParam(value = "businessKey",required ...

  7. Centos 7配置使用nginx反向代理mysql

    背景:由于WEB服务和MySQL数据库服务分开部署的,由于网络问题限制,有时需要通过中间代理服务器跳转连接MySQL,所以需要在中间服务器上配置代理. 1.添加stearm模块 # nginx通常代理 ...

  8. Centos 6 部署PPTP服务

    前言:PPTP使用一个TCP连接对隧道进行维护,使用通用路由封装(GRE)技术把数据封装成PPP数据桢通过隧道传送.可以对封装PPP桢中的负载数据进行加密或压缩. 注意:PPTP协议已经被IOS系统所 ...

  9. .net core 自定义授权策略提供程序进行权限验证

    .net core 自定义授权策略提供程序进行权限验证 在这之前先了解一下鉴权和授权的概念: 鉴权 鉴权可以说是身份验证,身份验证是确定用户身份的过程: 在ASP.NET Core 中身份验证是由身份 ...

  10. Linux耳机音响独立输出

    记得之前在用Ubuntu系统的时候,耳机和音响(线缆输出和模拟耳机输出)只能单独插一个,如果两个设备同时插入主机,将会导致只能耳机输出,即使选择后置音响(线缆输出)也不会有声音.在Windows下,即 ...