1. HTTP通信流程:

1)输入www.baidu.com
2)解析成IP地址:192.168.0.1
3)浏览器通过该IP访问web服务器获取web资源
4)再返回给客户端
5)最后呈现在用户面前

2. HTTP常用的6种请求类型:

1)OPTIONS:返回服务器所支持的HTTP请求方法。
2)HEAD:与GET请求相一致的响应,但只返回头部信息,响应体将不会被返回。
3)GET:向特定的资源发出请求。
4)POST:向指定资源提交数据进行处理请求。数据被包含在请求体中。
5)PUT:向指定资源位置上传其最新内容。
6)DELETE:请求服务器删除指定资源。

3. 常见的请求头:(重点记忆以下请求头)

● Accept
○ 指定客户端能够接收的内容类型
○ Accept: text/plain, text/html
● Accept-Charset
○ 浏览器可以接受的字符编码集
○ Accept-Charset: iso-8859-5
● Accept-Encoding
○ 指定浏览器可以支持的web服务器返回内容压缩编码类型
○ Accept-Encoding: compress, gzip
● Accept-Language
○ 浏览器可接受的语言
○ Accept-Language: en,zh
● Cookie
○ HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器
○ Cookie: role=admin;ssid=1
● Range
○ 只请求实体的一部分,指定范围
○ Range: bytes=500-999
● Referer
○ 先前网页的地址,当前请求网页紧随其后,即来路
○ Referer: http://www.zcmhi.com/archives/71.html
● User-Agent
○ User-Agent的内容包含发出请求的用户信息
○ User-Agent: Mozilla/5.0 (Linux; X11)

4. GET和POST区别

1:URL可见性
i:Get传参方式是通过地址栏URL传递,是可以直接看到get传递的参数,get把请求的数据在URL后通过?连接,通过&进行参数分割。
ii:Post传参方式参数URL不可见,post将从参数存放在HTTP的包体内。
2:传输数据大小
i:Get传递数据是通过URL进行传递,对传递的数据长度是受到URL大小的限制,URL最大长度是2048个字符。
ii:Post没有长度限制。
3:后退页面
Get后退不会有影响,Post后退会重新进行提交
4:缓存
i:Get 请求可以被缓存,请求的记录会留在历史记录中。
ii:Post 不可以被缓存,请求不会留在历史记录。
5:编码方式
i:Get 请求只URL编码。
ii:Post 支持多种编码方式。
6:字符类型
i:Get 只支持ASCII字符。
ii:Post 没有字符类型限制。

5. 一个HTTP请求报文由四个部分组成:请求行、请求头部、空行、请求数据。

6. HTTP响应报文:响应行、响应头、响应体

7.HTTP响应码:

1xx(临时响应)、2xx(成功)、3xx(重定向)、4xx(请求错误)、5xx(服务器错误)

(重点记忆100、101 、200、201、301、302 、 400、401、403、404 、405 、500、501、)

8. HTTPS 默认工作在 TCP 协议443端口

9.HTTP常用的6种协议:

 OPTIONS:返回服务器所支持的HTTP请求方法。

HEAD:与GET请求相一致的响应,但只返回头部信息,响应体将不会被返回。

GET:向特定的资源发出请求。

POST:向指定资源提交数据进行处理请求。数据被包含在请求体中。

PUT:向指定资源位置上传其最新内容。

DELETE:请求服务器删除指定资源。

10.HTTP 与 HTTPS 区别:

  • HTTP 明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP) 数据传输过程是加密的,安全性较好。
  • 使用 HTTPS 协议需要到 CA(Certificate Authority,数字证书认证机构) 申请证书,一般免费证书较少,因而需要一定费用。证书颁发机构如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。
  • HTTP 页面响应速度比 HTTPS 快,主要是因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包。
  • http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。
  • HTTPS 其实就是建构在 SSL/TLS 之上的 HTTP 协议,所以,要比较 HTTPS 比 HTTP 要更耗费服务器资源。

11.HTTP请求响应过程:

1)域名解析、 2)发起TCP3次握手、 3)建立TCP连接后发起HTTP请求、 4)服务器端响应http请求,浏览器得到html代码、 5)浏览器解析html代码,并请求html代码中的资源、 6)浏览器对页面进行渲染呈现给用户

HTTP通信基础的更多相关文章

  1. PHP进程通信基础——信号

    PHP进程通信基础--信号 使用信号通信.可以使用kill -l 来查看当前系统的信号类型. 每个信号所代表的的详细含义,请查看我的这篇博客:http://www.cnblogs.com/roverl ...

  2. PHP进程通信基础——信号量+共享内存通信

    PHP进程通信基础--信号量+共享内存通信 由于进程之间谁先执行并不确定,这取决于内核的进程调度算法,其中比较复杂.由此有可能多进程在相同的时间内同时访问共享内存,从而造成不可预料的错误.信号量这个名 ...

  3. PHP进程通信基础——shmop 、sem系列函数使用

    PHP进程通信基础--shmop .sem系列函数使用 进程通信的原理就是在系统中开辟出一个共享区域,不管是管道也好,还是共享内存,都是这个原理.如果心中有了这个概念,就会很方便去理解代码.由于官网上 ...

  4. IP通信基础的第一个星期

    IP通信基础不仅是很多专业课程的基础,同时学好它,在以后很多工作上都可以运用到,有网络工程师.通信工程师等等,当然,有些证书也会涉及到IP通信基础,有网络中级高级 CCNA等等. 那么,学好IP通信基 ...

  5. IP通信基础学习第一周

    在IP方向上,IP通信基础是学习其他诸如:数字程教控交换技术与应用.IPV6技术与应用.SDH传输技术与应用等课程的基础. 学习IP通信基础,对学生而言至少可以拿学分,不仅有利于以后的学习,还有机会从 ...

  6. LABVIEW串口通信基础

    写这一篇串口通信基础的契机是最近刚刚完成一个温箱的仪器控制程序,LABVIEW通过串口与温箱单片机通讯,我打算将过程中遇到的一些问题和收获列在这里方便有需求的网友比对.寻找答案. 学LABVIEW时间 ...

  7. 第2章 2.n物理层--数据通信基础知识总结

    数据通信基础知识总结

  8. Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手)

    Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手) 一丶CS/BS 架构 C/S: 客户端/服务器    定义:       ...

  9. Java学习之Hessian通信基础

    一.首先先说Hessian是什么?    Hessian:hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能,相比WebService,Hessian更简 ...

  10. Android 学习笔记之网络通信基础+WebView....

    PS:加快学习进度...下周一完成Android网络通信...然后正式进入实战... 学习内容: 1.Android中Http基础... 2.Android中的Socket基础... 3.Androi ...

随机推荐

  1. SAP 布局编辑器无法使用问题处理

    因一些事情,公司将正式系统的数据拷贝到了开发机,后来在开发中用到了布局编辑器,发现打不开且会报错RFC callback call rejected by whitelist 这个是因为正式机和开发机 ...

  2. MySQL 常用命令(2)------数据库操作

    四.数据库操作 1.创建数据库 注意:创建数据库前要先连接mysql数据库 语法:create database <数据库名> 例:创建数据库并分配用户 1.create database ...

  3. python打开Excel中指定的sheet表

    一个Excel中有多个sheet的时候,你在第几个sheet保存关闭的,那下次打开就在原来的那个表的位置,所以有时候你想--在打开一个Excel的时候指定到其中的一个sheet表,那么使用第三方库xl ...

  4. IE 浏览器element-ui table: show-overflow-tooltip 临界值时失效

    问题: 在使用el-table表格时,有时会用到show-overflow-tooltip属性,即当单元格内容不能完全显示时显示tooltip文字提示,并且单元格里的内容显示省略号. 但是在ie浏览器 ...

  5. 解决leetcode登录报错

    1.安装leetcode 2.安装成功后会在拓展下面增在如下图标 点开界面如下 [] 3.点击小地球弹出如下弹窗,选择 启用中国版,可以多点击几次,防止没有选中 4.点击圈出的图标 选择第一个 5.输 ...

  6. OSS管理文件(Node.js)

    let OSS = require('ali-oss'); let config = { region: 'oss-cn-hangzhou', //你的Region 注意 这个只要 空间名 不要 ht ...

  7. elasticsearch+moloch

    1.下载elasticsearch-6.8.7  https://www.elastic.co/cn/downloads/elasticsearch 2.下载moloch-2.2.2-1.x86_64 ...

  8. Linux下查看服务器PCIE Slot槽位信息

    在linux系统下,可以使用"dmidecode –t 9"或者"dmidecode –t slot"命令查看PCIE Slot的信息,如下图所示RH2288H ...

  9. 浏览器F12,Network中各按钮的作用

    Network下 preserve log:勾选,页面发生跳转,接口不丢失:(比如登录成功跳转到首页,登录的接口就没了,勾选Perserve log,会记录跳转前的接口): Disable cache ...

  10. Write down for Segments, Extents, and Blocks

    Segments, Extents, and Blocks(段.区.块) • Segments exist in a tablespace. • Segments are collections of ...