美文网首页
HTTP协议相关问题

HTTP协议相关问题

作者: 如逆水行舟不进则退 | 来源:发表于2019-12-23 23:14 被阅读0次

一 协议的表达方式

1.什么是协议?

通信双方预先定义好的通信规范或规则

2.协议一般都包括哪些内容?

网络协议是由三个要素组成:
语义:语义是解释控制信息每个部分的意义。它规定了需要发出何种控制信息,以及完成的动作与做出什么样的响应。
语法:语法是用户数据与控制信息的结构与格式,以及数据出现的顺序。
时序:时序是对事件发生顺序的详细说明。(也可称为“同步”)。

3.如何创建一个协议?

二 HTTP协议的作用

1.我们可以利用HTTP协议做什么事情?

超文本传输协议,
HTTP协议允许用户在统一的界面下,采用不同的协议访问不同的服务

三 HTTP协议包括的内容

1.HTTP协议的执行流程是什么?

1.输入域名,回车
2.解析域名,获取IP, 通过DNS
3.建立TCP连接
4.向服务器发送GET请求
5.返回内容
根据conection配置看是否断开连接。

一般是
客户端 —— 代理服务器 —— 应用服务器

2.HTTP协议包括哪些内容?

http协议 包含 http协议的请求和http协议的响应http协议的请求 又包含一下内容1,请求方法-URL-协议/版本2,请求头3,请求体
http响应的请求 又包含一下内容1,状态行2,响应头3,响应体

3.HTTP协议格式是什么样的?

①URL 规范
http://
username:passwd 一般不要
@www.un.org
/subdir/file.html
?var=value&var2=value2
#hash
②请求格式
③响应格式

4.HTTP协议的头域有哪些内容?

分请求头和响应头

5.HTTP协议中的状态码有哪些?

响应状态码:
100-199 :参考信息
200-299:成功 成功获取或成功创建
300-399: 重定向
400-499:客户端错误
500-599:服务器错误

6.HTTP协议请求方法有哪些?

GET URL 规范最长是255个字符,实际支持1024字符
POST 提交大块数据 成功返回200
HEAD 检测服务器
PUT 类似post请求,目的是向服务器发送允许保存的数据 成功返回201 只能通过程序或工具发送
DELETE 删除服务器资源
TRACE 用于诊断网络
OPTIONS 查询指定资源有哪些请求方法可以使用
CONNECT 用于代理服务器和应用服务器之间
用于建立一个仅用于数据传输的隧道

7.HTTP协议中GET和POST有什么不一样?

GET一般用于获取/查询资源信息,而POST一般用于更新资源信息
数据在url或者请求体
get比post更快,请求过程不一样

四 COOKIE和SESSION

1.COOKIE是什么?

cookie使用来跟踪用户会话的技术.cookie本身是一小段文本信息,它存在与http协议header头域里,通过http协议来传递

2.COOKIE是怎么工作的?

http协议是一种无状态协议,客户端和服务端完成一次会话后,服务器端不知道下次连接到服务端的是不是同一个客户端,需要有个标识能告诉服务端,是哪个客户端连接上了服务端.例如登录用户,需要有个东西标识,那就在客户端保存一个cookie,下次访问的时候随http header一起发到服务端,服务端根据cookie的内容知道了这是某个用户的请求,服务端根据cookie取到该用户的信息,返回给客户端

3.COOKIE在两个不同的子域名a.abc.com和b.abc.com中可以相互调用吗?

可以互相调用。

默认情况下的cookie仅对该域名(例如www.example.com)本身有效,出了该域名(例如test.example.com),cookie便会失效,但是可以通过setcookie函数让cookie对整个域名(*.example.com)有效

4.COOKIE的存储是安全的吗?

不安全,可以跨站请求伪造CSRF

5.SESSION是什么?

Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。

6.SESSION是怎么工作的?

用户请求login.php填写数据后提交
服务器收到提交的数据取得用户信息,将用户信息存入session,并将session_id通过cookie的形式发给客户端
客户端将session_id存入浏览器cookie文件
用户再次访问其他页面时,将有session_id的cookie通过header头发给服务端
服务端拿到session_id从session中取到用户信息并返回

7.SESSION存储在哪里?存储的格式是怎样的呢?

存储在服务器。
session存储的内容是啥样的
序列化serialize
uid|i:123;abc|O:1:"a":2:{s:1:"s";s:4:"test";s:1:"b";a:2:{i:0;s:2:"12";i:1;s:2:"34";}}

8.SESSION和COOKIE是什么关系?

客户端将session_id存入浏览器cookie文件,一般session以来cookie,但是如果浏览器不支持cookie,session依然能正常使用,将session通过url传递即可。

Cookies是属于Session对象的一种。但有不同,Cookies不会占服务器资源,是存在客服端内存或者一个cookie的文本文件中;而“Session”则会占用服务器资源。所以,尽量不要使用Session,而使用Cookies。但是我们一般认为cookie是不可靠的,session是可靠地,但是目前很多著名的站点也都以来cookie。有时候为了解决禁用cookie后的页面处理,通常采用url重写技术,调用session中大量有用的方法从session中获取数据后置入页面。

9.如何设置SESSION严格的过期时间?

由php.ini中的session配置决定( session.cookie_lifetime = 0 session.gc_maxlifetime = 600 )

10.多服务器之间SESSION如何共享?

nfs, 网络文件系统 将多台服务器所在的session存储目录设置为mount挂载的目录
memcache,session.save_handler = memcache并设置路径session.save_path = "tcp://192.168.1.101:11211"
mysql,ession.save_handler = user,然后建立session表,建立php文件用于对数据库表操作session数据,最后用session的都引入上一步中的php文件

五 HTTP性能优化

1.跟缓存相关的头域有哪些?

Cache-control、 If-Modified-Since、ETag

2.如何在php中设置分块传输?

分块传输
Transfer-Encoding: chunked

3.如何在php中设置只请求实体内容的前512个字符?

Range:bytes=0-512

4.如果用压缩内容,浏览器怎么知道如何解压缩?

响应里指定
Content-Encoding: gzip

六HTTP安全

1.如何避免xss攻击?

对输入(和URL参数)进行过滤,对输出进行编码。
在输出数据之前对潜在的威胁的字符进行编码、转义是防御XSS攻击十分有效的措施。如果使用好的话,理论上是可以防御住所有的XSS攻击的。

2.如何避免csrf攻击?

(1)验证 HTTP Referer 字段
(2)在请求地址中添加 token 并验证
(3)在 HTTP 头中自定义属性并验证

3.如何避免sniffer?

使用相关工具检测:防止 Sniffer的工具 Antisnff

相关文章

  • HTTP协议相关问题

    一 协议的表达方式 1.什么是协议? 通信双方预先定义好的通信规范或规则 2.协议一般都包括哪些内容? 网络协议是...

  • 网络

    一、HTTP协议相关问题 二、TCP 与 UDP 相关问题 三、DNS 相关问题 四、Session 与 Cook...

  • http协议相关

    https://www.cnblogs.com/chenwenhao/p/11267238.html http协议...

  • HTTP协议相关

    HTTP超文本传输协议 HTTP的请求方式有哪些?GET请求和POST请求的区别?HTTP请求的特点 HTTP的请...

  • Http协议相关

    Http常使用的方法: post put get delete options head Http相应状态码: 1...

  • HTTP协议相关

    1.介绍一下网络七层模型,HTTP在哪一层? 2.概念 1.HTTP:超文本传输协议基于TCP协议进行可靠传输,用...

  • HTTP协议相关

    GET 和POST 请求方式的区别 从语义的角度来回答 get是获取资源。安全的,幂等的,可缓存的。 post是处...

  • HTTP协议相关

    1.http是超文本传输协议。支持B/S模式,优点是简单快速,B端发出请求只需要传送方法和路径。正在传输的类型有c...

  • HTTP协议相关

    超文本传输协议 请求/响应报文 连接建立的流程 HTTP的特点 请求/响应报文 请求报文请求报文结构请求行、首部字...

  • Https兼容性性问题

    关于HTTPS的相关问题 HTTP (Hypertext Transfer Protocol)超文本传输协议 HT...

网友评论

      本文标题:HTTP协议相关问题

      本文链接:https://www.haomeiwen.com/subject/jyatoctx.html