因为如今的工作设计的Web开发,因此了解了一下Http协议。在阅读了这篇文章HTTP协议具体解释(真的非常经典)后,总结了相关经常使用知识并列在此处以方便以后的查询。

HTTP协议的主要特点可概括例如以下:

1.支持客户/server模式。

2.简单高速:客户向server请求服务时,仅仅需传送请求方法和路径。请求方法经常使用的有GET、HEAD、POST。每种方法规定了客户与server联系的类型不同。

因为HTTP协议简单,使得HTTPserver的程序规模小,因而通信速度非常快。

3.灵活:HTTP同意传输随意类型的数据对象。正在传输的类型由Content-Type加以标记。

4.无连接:无连接的含义是限制每次连接仅仅处理一个请求。server处理完客户的请求。并收到客户的应答后,即断开连接。採用这样的方式能够节省传输时间。

5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。

缺少状态意味着假设兴许处理须要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。还有一方面。在server不须要先前信息时它的应答就较快。

HTTP URL (URL是一种特殊类型的URI,包括了用于查找某个资源的足够的信息)的格式例如以下:

http://host[":"port][abs_path]

http表示要通过HTTP协议来定位网络资源;host表示合法的Internet主机域名或者IP地址。port指定一个端口号。为空则使用缺省端口80;abs_path指定请求资源的URI;假设URL中没有给出abs_path,那么当它作为请求URI时,必须以“/”的形式给出,通常这个工作浏览器自己主动帮我们完毕。

eg:

1、输入:www.guet.edu.cn

浏览器自己主动转换成:http://www.guet.edu.cn/

2、http:192.168.0.116:8080/index.jsp



User-Agent

我们上网登陆论坛的时候,往往会看到一些欢迎信息,当中列出了你的操作系统的名称和版本号。你所使用的浏览器的名称和版本号,这往往让非常多人感到非常奇妙,实际上,server应用程序就是从User-Agent这个请求报头域中获取到这些信息。User-Agent请求报头域同意client将它的操作系统、浏览器和其他属性告诉server。只是。这个报头域没必要的,假设我们自己编写一个浏览器,不使用User-Agent请求报头域,那么server端就无法得知我们的信息了。

在Android中获取系统的userAgent代码例如以下:System.getProperty("http.agent");在我的手机上打印出:

Dalvik/1.6.0 (Linux; U; Android 4.3; GT-I9300 Build/JSS15J)



Accept-Encoding

HTTP Header中Accept-Encoding 是浏览器发给server,声明浏览器支持的编码类型

常见的有

Accept-Encoding: compress, gzip //支持compress 和gzip类型

Accept-Encoding: //默认是identity

Accept-Encoding: * //支持全部类型 Accept-Encoding: compress;q=0.5, gzip;q=1.0//按顺序支持 gzip , compress

Accept-Encoding: gzip;q=1.0, identity; q=0.5, *;q=0 // 按顺序支持 gzip , identity

server返回的相应的类型编码header是 content-encoding.server处理accept-encoding的规则例如以下所看到的 1. 假设server能够返回定义在Accept-Encoding 中的不论什么一种Encoding类型, 那么处理成功(除非q的值等于0, 等于0代表不可接受)

http协议的相关知识的更多相关文章

  1. HTTP协议知多少-关于http1.x、http2、SPDY的相关知识

    作为网站开发的基础协议,我们知道浏览器上都有输出http这四个字母,这意味着什么呢? 这就是最基础的HTTP协议. 逐浪君今天为各位大人准备了一些HTTP技术的知识,来和大家分享. 以下图为例: 这一 ...

  2. Windows网络编程笔记4 -- Winsock 协议相关知识

     Win32平台上的Winsock编程,Winsock是一个与协议无关的接口.以下协议是我们需要了解的: 网络协议的特征包括: 1.  面向消息 2.  面向连接和无线接 3.  可靠性和次序性 4. ...

  3. 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸

    类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...

  4. 【转】java NIO 相关知识

    原文地址:http://www.iteye.com/magazines/132-Java-NIO Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的 ...

  5. iOS网络相关知识总结

    iOS网络相关知识总结 1.关于请求NSURLRequest? 我们经常讲的GET/POST/PUT等请求是指我们要向服务器发出的NSMutableURLRequest的类型; 我们可以设置Reque ...

  6. AJAX跨域调用相关知识-CORS和JSONP(引)

    AJAX跨域调用相关知识-CORS和JSONP 1.什么是跨域 跨域问题产生的原因,是由于浏览器的安全机制,JS只能访问与所在页面同一个域(相同协议.域名.端口)的内容. 但是我们项目开发过程中,经常 ...

  7. 【转载】前端面试“http全过程”将所有HTTP相关知识抛出来了...

    原文:前端面试“http全过程”将所有HTTP相关知识抛出来了... 来一篇串通,一个http全过程的问题,把所有HTTP相关知识点都带过一遍 http全过程 输入域名(url)-->DNS映射 ...

  8. HTML入门基础教程相关知识

    HTML入门基础教程 html是什么,什么是html通俗解答: html是hypertext markup language的缩写,即超文本标记语言.html是用于创建可从一个平台移植到另一平台的超文 ...

  9. WEB相关知识和Tomcat服务器

    WEB相关知识 1.Internet上供外界访问的Web资源分为: 静态web资源:指web页面中供人们浏览的数据始终是不变的. 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间 ...

随机推荐

  1. 交叉编译OpenCV的教程——基于aarch64-linux-gnu的交叉编译器

    1.获取OpenCV3.3.1的源码 地址:https://pan.baidu.com/s/1lnKDThiWg-2QDXNEzVAqrA 提取码:vmn4 2.解压源码包 命令:unzip open ...

  2. HDU-3746-Cyclic Nacklace(KMP,循环节)

    Cyclic Nacklace Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...

  3. 02-Mysql中的运算符

    Mysql中运算符 1.算术运算符运算符 作用+   加法-    减法*    乘法/,DIV     除法,返回商%,MOD       除法,返回余数 mysql root@localhost: ...

  4. tcpdump抓包指令使用示例

    tcpdump是一个用于截取网络分组,并输出分组内容的工具. tcpdump凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具.tcpdump提供了源代码,公开了 ...

  5. PAT 1010. 一元多项式求导

    1010. 一元多项式求导 (25) 设计函数求一元多项式的导数.(注:xn(n为整数)的一阶导数为n*xn-1.) 输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数 ...

  6. 大数据学习——linux常用命令(二)四

    系统管理操作 1 挂载外部存储设备 可以挂载光盘.硬盘.磁带.光盘镜像文件等 1/ 挂载光驱 mkdir   /mnt/cdrom      创建一个目录,用来挂载 mount -t iso9660 ...

  7. python012 Python3 编程第一步

    Python3 编程第一步在前面的教程中我们已经学习了一些 Python3 的基本语法知识,下面我们尝试来写一个斐波纳契数列.实例如下: #!/usr/bin/python3 # Fibonacci ...

  8. php 正则匹配包含字母、数字以及下划线,且至少包含2种

    新系统注册功能需对用户名和密码做以下要求:包含字母.数字以及下划线,且至少包含2种: 在网上没有搜到符合要求的代码,于是自己对他人代码做了一点修改,经测试满足要求.代码如下: if (!preg_ma ...

  9. NOIP2013D1T3货车运输(最大生成树+倍增lca)

    传送门 这道题,先用kruskal求一遍图中的最大生成树. 然后,倍增求lca,求lca的同时求出边权的最小值. #include <cstring> #include <cstdi ...

  10. hdu 1563简单异或Find your present!

    #include<stdio.h> int  main(){  int n,m,s;  while(scanf("%d",&n),n) {   s=0;   w ...