一. HTTP之URL篇
首先来看一下,我们一般在上网的时候,地址栏中经常会显示的信息,这里就举一些简单的例子
https://www.baidu.com
https://113.2.7.58.25/a/b/c.html
从上面的简单的例子我们把url分成了以后的几个部分,请看下图
第一个协议就不用解释了一般浏览器使用的协议都是http的协议;第二个 主机号,其实是一台服务器的IP地址;第三个端口号,所谓的端口号就是主机上面的一个程序号,这里一般默认的是80,然后很多浏览器是省略不显示的;第四个是路径,就是想对于你的主工作路径的目录,如果不显示的话,就是默认的/,主工作目录。比如我们输入www.guet.edu.cn,这个时候浏览器会默认的改成http://guet.edu.cn/
让我们简单的分析一下下面的一个url请求,
https://123.2.7.58.25:80/a/b/c.php?a=100&b=20
浏览器的意思是,访问主机号为123.207.58.25这台主机下面的80号服务下的根目录下的a目录下的b目录下的c.php资源,并且要提交的数据是a=100和b=20
上面的是大多数的浏览器中的url大家可以看一下,中间以?隔开的是我们要提交的数据,还有时候是没有,提交数据时候大概就是我们提交一个表单的过程,比如输入用户名和 密码等
下面就随机从网上打开了几个网页,大家看一下
https://www.baidu.com/index.php?tn=monline_3_dg
https://mp.weixin.qq.com/misc/appmsgcomment?action=list_latest_comment&begin=0&count=10&mp_version=7&token=1240007609&lang=zh_CN
我们看到最后一个url虽然内容有很多,但是也可以被我们看成 是几部分,注意中间的?,那个后面的是我们要提交的数据,然后这些数据是&来区分各个数据的,提交的数据,一直采用了name=value的形式
二. HTTP之请求篇
首先看一个图来进行讲解
对于之前的一个网址,https://123.207.58.25:80/a/b/c.php?a=100&b=20去掉https,去掉IP,去掉端口号,剩下的部分(/a/b/c.php?a=100&b=20)就是存放在上图中url字段中的数据
这里在补充一点就是,我们的方法一般是GET和POST方法,在上面的请求行中,方法和url字段中有一个空格,url和协议版本中有一个空格。
那上面的实例来说就是,我们的请求行中的数据就是
GET /a/b/c.php?a=100&b=20 http/1.0\r\n
注意:1.GET和、/a...之间有一个空格,b=20和http/1.0之间有一个空格
2.其中的\r\n每一行的标识,不仅仅是第一行的,另外规定就是\r\n不允许单独的出现
method字段:
GET:请求获取url所标识的资源
POST:在url所标识的资源后面附加上新的资源
GET方法:在浏览器的地址栏中输入网址的方式或者是浏览网页,浏览器多采用GET方法
GET /form.html HTTP/1.1\r\n
POST方法:要求被请求的服务器接收负载方法后面的数据,常用于提交表单,比如我们登录一个网站的时候需要输入密码。
三.HTTP之响应篇
首先看响应的图
上图中有状态行中 有状态码和状态码描述,下面有几个实例
200 OK ---- 客户端请求成功了
404 Not Found --- 请求的资源不在,eg:输入了错的网址
403 Firbidden --- 服务器拒绝收到的请求,拒绝服务
例如 HTTP/1.0 200 OK\r\n
在请求正文中,就是服务器给我们放回的请求数据,比如html,这个时候服务器就给我们返回了一个html的一个文件,然后经过了浏览器的解析之后就是呈现在我们面前的一个页面
其他的字段和 请求中的是一样的
综上:服务器根据sock收到的client发来的数据请求,对数据进行解析,然后将结果返回,然后经过浏览器进行解析,呈现在我们面前的一个个页面还有其他的一些信息

HTTP项目1.0 -- HTTP协议基础知识相关推荐

  1. IOS Socket 01-网络协议基础知识

    IOS Socket 01-网络协议基础知识 1. 网络参考模型 OSI参考模型                                          TCP/IP参考模型 2. 七层简述 ...

  2. CANopen协议基础知识

    CANopen协议基础知识 资料: DS301协议中文文档:https://winshton.gitbooks.io/canopen-ds301-cn/content/chapter5.html 30 ...

  3. eip协议通信_工业通讯 | EtherNET/IP协议基础知识(Part 3)||附视频讲解

    点击蓝字 关注我们 相关阅读: EtherNet/IP OSI参考模型及其物理层.数据链路层与网络层的功能特点: EtherNET/IP协议基础知识(Part 1)||附视频讲解 Encapsulat ...

  4. VC++6.0及MFC基础知识

    VC++6.0及MFC基础知识 这是早期的学习笔记,今天翻出来,觉得还有点价值,就转发到这里. Visual C++ 6.0的主界面 VC++6.0的MFC Windows 的三大模块就是以DLL( ...

  5. HTTP协议基础知识

    简介 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从WWW服务器传输超文本到本地浏览器的传送协议.它可以使浏览器更加高效,使网络传输减少.它不仅保 ...

  6. 标定协议之CCP协议基础知识介绍

    上一篇<标定协议基础知识介绍>中对标定协议进行了初步的介绍,从这一篇文章开始对CCP标定协议进行相关介绍,本篇将对CCP标定协议相关指令进行介绍. CCP通讯报文定义 CCP标定协议标准中 ...

  7. 《FORTRAN语法:章节篇》第0章 Fortran基础知识

    第0章 Fortran基础知识 Fortran命名规范Fortran命名规范Fortran命名规范 (1)变量名.过程名小写. (2)保留字名.库函数名.常量名大写. (3)多个单词之间用下划线分隔. ...

  8. 标定协议基础知识介绍

    在上一篇<如何实现标定>中介绍了标定工具通过标定协议与控制器进行通讯从而实现标定.在二十世纪九十年代由Audi.BMW.Mercedes-Benz.Volkswagen等相关企业成立了AS ...

  9. 你需要了解的 http 协议基础知识

    本文对 http 协议中一些基础知识的概括和总结: WWW由三项技术组成 HTML(超文本标记语言) HTTP(文档传输协议) URL(统一资源定位符) URI与URL URI(Uniform Res ...

最新文章

  1. 无人驾驶定位与贝叶斯滤波
  2. 用#ifndef、#define、#endif避免头文件的重定义
  3. 七.Hystrix Timeout机制
  4. c++ 取机器码_吉林c系列防倒灌风帽怎么卖,流线型通风器可定制
  5. 配置表CRMC_SORG_R3ORG在SPRO里的配置路径
  6. web service基础知识
  7. 三维点云学习(4)2-mean shift dbscan
  8. WPF 入门教程打印控件
  9. html 在线申请,25个在线工作申请免费HTML的简历模板
  10. 整理软件测试分析资料
  11. 远程桌面连接计算机是什么,远程桌面连接是什么意思?
  12. vue-miniQQ——基于Vue2实现的仿手机QQ单页面应用(接入了聊天机器人,能够进行正常对话)...
  13. vlookup+left函数嵌套如何运用
  14. 生成对抗网络(六)----------Image Denoising Using a Generative Adversarial Network(用GAN对图像去噪)
  15. 分子生物学中常用数据库
  16. Spring IOC介绍
  17. csr8670--sink工程的大致工作流程分析(以speaker为例)一
  18. 为双系统 Ubuntu grub启动项中添加Windows启动项
  19. excel查找匹配项vlookup函数
  20. Allegro PCB Design GXL (legacy) 将brd文件另存为低版本文件

热门文章

  1. (转)MySQL联表查询
  2. 【Socket研究】~。~ Scoket开发蛋疼笔记 Silverlight
  3. bzero函数_函数模块 | UDP自动获取本地广播地址
  4. python爬取晋江_[Arcpy] 爬取高德地图面状地物(半自动化)—获取任意地区的行政边界...
  5. java反射 获取参数名_java
  6. 笛卡尔积 php,PHP自定义函数生成笛卡尔积
  7. python response.json()报错_Django JsonResponse json格式报错 解决Django响应JsonResponse返回json格式数据报错问题...
  8. php 开发百度聚合,php利用百度javascript API实现导航
  9. shell脚本求和_【零基础学云计算】Shell编程之case语句与循环语句
  10. 数据结构和算法:(3)3.2线性表的链式存储结构