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. 启动JAVA服务

    # -*- coding: utf-8 -*- import re import sys from subprocess import Popen, PIPE import os import tim ...

  2. Redis设计实现-学习笔记

    最近在准备面试,问到redis相关知识,只能说个皮毛,说的既不深入也不全面,所以抓紧突击一下,先学<redis设计与实现>. 选择看书的原因是: 书中全面深入,且能出书一定十分用心: 搜博 ...

  3. 2D 消隐效果

    在触发消隐的物体(比如玩家)挂下面的代码,以及box collider,rigidbody 2d using UnityEngine; public class ColliderFader : Mon ...

  4. Python数据挖掘——银行分控模型的建立

    数据初始化 import pandas as pd from keras.models import Sequential from keras.layers.core import Dense, A ...

  5. 关于html中元素和布局的笔记

    一.元素类型 css标准文档流:默认的网页从左到右,从上到下的排列方式显示出网页效果 类型: 1.块级元素:(div,p,table--) a.独占一行 b.可以设置宽度和高度 c.可以设置左右居中( ...

  6. xshell和xftp绿色版下载

    下载地址:https://www.xshell.com/zh/free-for-home-school/ 点击后页面如下,输入自己的姓名和邮箱然后点击下载即可.登录自己的邮箱获取下载链接.

  7. Day17-JavaSE总结

    不多说了,直接去看视频吧! 链接 完结撒花!!!

  8. 04 ajax执行php并传递参数

    做这个事情之前要导入jQuery js的方式 _this.value1 = "abc"; _this.value2 = 1; $.ajax({ url: 'xxxxxx.php', ...

  9. geoserver leaflet 使用wms

    注意事项 1.  地址是 http://192.168.31.120:8080/geoserver/cite/wms   不需要后面 2. 名称 city:Polyline3 3.默认层级别调试为0  ...

  10. java 递归查子菜单

    递归查: @Override public List<PromotionOrgInfoPO> queryOrgInfo() { List<PromotionOrgInfoPO> ...