一、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. 使用netty 实现本地代理程序

    本地代理程序1:将远程的服务设置为本地端口访问我的台式PC安装了vm,因为都是机器私有IP,但我的另外的PC电脑也需要访问方便测试,需要要把VM的端口设置在台式本机对外,这样我台式的端口对外在局域网都 ...

  2. Java工程结构 应用分层

    (一) 应用分层 1. [推荐]图中默认上层依赖于下层,箭头关系表示可直接依赖,如:开放接口层可以依赖于 Web 层,也可以直接依赖于 Service 层,依此类推: • 开放接口层:可直接封装 Se ...

  3. ES搜索高亮分词排序聚合搜索

    分词高亮搜索代码 List<A> list = new ArrayList<>(); //设置高亮显示 HighlightBuilder highlightBuilder = ...

  4. TiSpark 初级应用

    目前正在使用tispark 进行离线计算,简单记录一下操作过程 一.技术验证 场景:计算每次充电过程中单体最高电压的变化速率  解决方案:     使用tispark 直接访问tidb的数据,采用sp ...

  5. 前端复习之jQuery大全

    Jquery知识点梳理 梳理图摘自--https://www.cnblogs.com/859630097com/p/14433611.html [手机版]横屏观看,效果更佳 JavaScript类库: ...

  6. GoAccess - 可视化 Web 日志分析工具

    Centos安装: yum -y install goaccess 使用goaccess命令生成HTML文件 LANG="en_US.UTF-8" bash -c 'goacces ...

  7. python之pyqt5-第一个pyqt5程序-图像压缩工具(2.5版本,加入多线程进度条与文件drop)-小记

    (如想转载,请联系博主或贴上本博地址) 题外:关于python的多线程 python因为GIL的原因,只能利用到单核CPU性能.如程序内多是计算或循环,多线程无啥意义:如程序内多IO操作,多线程可以避 ...

  8. Springboot jar 打包脚本和启动脚本

    说明: SpringBoot极大的提高了工作效率,集成了各大厂优秀的组件,好处就不多说了,使用配置也非常方便,本文主要讲解如何使用更方便的方式打包发布,利用SpringBoot的新特性内置tomcat ...

  9. 基于Rocky Linux搭建Windows域控制器

    1.基于Rocky Linux搭建Windows域控制器 https://blog.csdn.net/Sakura0156/article/details/125822938?spm=1001.210 ...

  10. github fork 别人的项目源作者更新后如何同步更新

    如下 左边选择我们拷贝的库  右边选择原工程 如下 点击箭头指向的位置 然后选择右边原工程目录