HTTP相关知识总结
HTTP协议特点
- 支持客户端/服务器模式
- 简单快速
- 灵活、允许传输任意类型的数据对象
- 限制每次连接只处理一个请求(http最初设计思想,现在为了提升传输效率,一次请求完成后不会立即断开连接)
- 无连接:限制每次连接只处理一个请求
- 无状态:指协议对于交互性场景没有记忆能力
HTTP请求相应的步骤客户端连接到web服务器
- 发送HTTP请求
- 服务器接收请求并返回HTTP响应
- 释放TCP连接
- 客户端浏览器解析HTTP内容
在浏览器中键入url,按下回车之后经历的流程
- DNS解析
- TCP建立
- 发送HTTP请求
- 服务端处理请求并返回HTTP报文
- 浏览器解析渲染页面
- 连接结束
其中5、 6步骤不分先后顺序
HTTP状态码
- 1xx:指示信息,表示信息请求已接收,继续处理
- 2xx:成功,表示请求被成功接收
- 3xx:重定向,要完成请求必须进行更进一步的操作
- 4xx:客户端错误,请求有语法错误或请求无法实现
- 5xx:服务端错误,服务器未能实现合法的请求HTTP状态码
HTTP和HTTPS的区别
SSL(security sockets layer)安全套接层
- 为网络通信提供安全及数据完整性的一种安全协议
- 是操作系统对外的API,SSL3.0以后更名为TLS
- 采用身份验证和数据加密保证网络通信的安全和数据的完整性
区别
- HTTPS需要到AC申请证书,HTTP不需要
- HTTPS密文传输,HTTP明文传输
- 连接方式不同,HTTPS默认使用443端口,HTTP使用80端口
- HTTPS=HTTP + 加密 + 认证 + 完整性保护,较HTTP安全
socket简介
- socket是对TCP/IP协议的抽象,是操作系统对外开放的接口
- socket通信流程图
GET请求和POST请求的区别
- http报文层面:get将请求信息放在url中,而post放在报文体中.
- 数据库层面:get请求符合幂等性和安全性,post不符合.
- 其他层面:get可以被缓存、被存储,而post不行.
cookie和session的区别
1、什么是cookie
- 由服务器发送给客户端的特殊信息,以文本的形式存在客户端
- 客户端在此请求时,会把cookie回发
- 服务器收到后会,解析cookie生成与客户端对应的内容
2、什么是session
session是服务器端的机制,是在服务器上保存的信息,
服务器解析客户端的请求,并操作sessionId保存状态信息
- session的两种实现方式
- 用cookie来实现:在cookie中携带JsssionId
- 用url回写来实现
3、区别
- cookie数据存放在客户的浏览器上;session数据存放在服务器上
- session相对于cookie更加安全
- 考虑服务器负载,应当减少使用session
HTTP相关知识总结的更多相关文章
- 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸
类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...
- 移动WEB像素相关知识
了解移动web像素的知识,主要是为了切图时心中有数.本文主要围绕一个问题:怎样根据设备厂商提供的屏幕尺寸和物理像素得到我们切图需要的逻辑像素?围绕这个问题以iphone5为例讲解涉及到的web像素相关 ...
- listener监听器的相关知识
从别人的博客上我学习了listener的相关知识现在分享给大家 1.概念: 监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上 ...
- UIViewController相关知识
title: UIViewController 相关知识date: 2015-12-13 11:50categories: IOS tags: UIViewController 小小程序猿我的博客:h ...
- 【转】java NIO 相关知识
原文地址:http://www.iteye.com/magazines/132-Java-NIO Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的 ...
- NSString使用stringWithFormat拼接的相关知识
NSString使用stringWithFormat拼接的相关知识 保留2位小数点 1 2 3 4 //.2代表小数点后面保留2位(2代表保留的数量) NSString *string = [NSSt ...
- iOS网络相关知识总结
iOS网络相关知识总结 1.关于请求NSURLRequest? 我们经常讲的GET/POST/PUT等请求是指我们要向服务器发出的NSMutableURLRequest的类型; 我们可以设置Reque ...
- 电路相关知识--读<<继电器是如何成为CPU的>>
电路相关知识–读<<继电器是如何成为CPU的>> */--> *///--> *///--> 电路相关知识–读<<继电器是如何成为CPU的> ...
- 地址标记,SpringMVC转发与调用相关知识存档
1.mytest_mavenprj1中,index的 <a href="login/login.html">点击登录</a> 与 <a href=&q ...
- AJAX跨域调用相关知识-CORS和JSONP(引)
AJAX跨域调用相关知识-CORS和JSONP 1.什么是跨域 跨域问题产生的原因,是由于浏览器的安全机制,JS只能访问与所在页面同一个域(相同协议.域名.端口)的内容. 但是我们项目开发过程中,经常 ...
随机推荐
- python高级编程——进程和进程池
python提供了一个跨平台的多进程支持——multiprocessing模块,其包含Process类来代表一个进程对象 1.Process语法结构:(注: 传参的时候一定使用关键字传参) 2.自定义 ...
- VMware+node+nginx+vue
1.安装CentOS 这里不再复述,不会的请移步VMware虚拟机安装centos7 2.部署 1.安装 node.js cd /usr/local/ wget https://nodejs.or ...
- React Native之React Navigation踩坑
自动重装系统之后,已经很长一段时间没有来写React Native了,今天空闲之余,决定重新配置React Native的开发环境,继续踩坑... React Native的开发环境配置狠简单,只要依 ...
- 【Gradle】Android Gradle 多项目构建
Android Gradle 多项目构建 Android 项目区别 Android项目一般分为库项目,应用项目,测试项目,Android Gradle 根据这些项目分别对应3种插件:com.andro ...
- 实时同步sersync实战
目录 实时同步sersync实战 什么是实时同步 sersync和rsync+inotify对比 sersync项目实战 安装rsync的服务端(backup) NFS服务端部署sersync 实时同 ...
- Docker系列01-容器初探
关于容器的发展史 关于容器有不得不说的历史故事,以下资料来自于互联网收集整理所得: 容器概念始于 1979 年提出的 UNIX chroot,它是一个 UNIX 操作系统的系统调用,将一个进程及其子进 ...
- STM32F373(青风)+CUBEMX快速上手
STM32F373(青风)+CUBEMX快速上手 Created: Nov 23, 2019 7:43 PM Tags: CUBEMX,STM32 硬件熟悉 连接线 USB-TYPEB电源线一根,用于 ...
- Linux:Apache服务器的搭建
下载安装并启动apache服务 安装apache服务 yum install -y httpd 启动apache服务 systemctl start httpd.service apache服务器的目 ...
- AcWing 803. 区间合并
网址 https://www.acwing.com/solution/AcWing/content/1590/ 题目描述给定n个区间[l, r]. 合并所有有交集的区间. 输出合并完成后的区间个数. ...
- Java程序猿想要月薪2万+必须必备哪些技术?
现在程序员是比较紧俏的一个岗位,其实可以写代码的人许多,但是为什么程序员还那么缺呢? 除了需求大以外,还有一个原因就是,实在合格的程序员确实比较少. 想要成为一个合格的程序员,咱们需求满意以下几点要求 ...