10.1 HTTP

 

1.跨网络的主机间通讯

套接字Socket是进程间通信IPC的一种实现,允许位于不同主机(或同一主机)上不同进程之间通信和数据交换

在建立通信连接的每一端,进程间的传输要有两个标志:IP地址和端口号,合称为套接字地址Socket address

客户机套接字地址定义了一个唯一的客户进程
服务器套接字地址定义了一个唯一的服务器进程

Socket API

封装了内核中所提供的socket通信相关的系统调用
Socket Domain:根据其所有使用的地址
    AF_INET:Address Familey, IPv4
    AF_INET6:IPv6
    AF_UNIX:同一主机不同进程之间通信时使用
Socket Type:更具使用的传输层协议
    SOCK_STREAM:流,tcp套接字,可靠地传递,面向连接
    SOCK_DGRAM:   数据包,udp套接字,不可靠地传递,无连接
    SOCK_RAW:裸套接字,无须tcp或udp,app直接通过ip包通信

 

 

 

套接字相关的系统调用:

socket()   创建一个套接字
bind()     绑定IP和端口
listen()   监听 
accept()   接收请求
connect()  请求连接建立
write()    write
read()     read
close()    关闭连接

HTTP相关概念

URL:统一资源定位符 使每个文档在整个因特网的范围内具有唯一的标识符URL
HTTP:应用层协议,超文本传输协议,基于tcp 80和443
HTML:超文本标记语言,将不同风格的文档,统一显示

浏览器工作原理

1.浏览器的指责:
    请求并解析服务器返回的html
2.dns解析
    为什么进程dns解析
    系统缓存查询
    路由器缓存,ISP缓存
    dns递归查询
3.tcp连接
    三次握手
    四次断开
4.http 请求
    get post
5.浏览器的渲染原理
    ...

持久连接:

当连接建立,每个资源获取完成后不会断开连接,而是继续等待其它的请求完成
断开条件:
    时间限制,请求数量
副作用:
    不适用于大并发场景

HTTP协议

http协议:0.91.01.12.03.0
协议特点:stateless无状态,无法追踪访问者来源
解决办法:
    cookie  客户端存放
    session 服务器端存放
http事务:一次访问过程
    请求 request
    响应 response

HTTP请求报文

request 报文格式
<method><request-URL><version>
<headers>
<entity-body>
GET  http://10.211.55.4:8000/index.html
状态  200OK
版本  HTTP/1.1
传输  242 字节(大小 8 字节)

HTTP响应报文

response 报文格式
<version><status><reason-phrase>
<headers>
<entify-body>
HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Wed, 07 Apr 2021 06:02:49 GMT
Content-Type: text/html
Content-Length: 8
Last-Modified: Wed, 07 Apr 2021 06:01:42 GMT
Connection: keep-alive
ETag: "606d4ac6-8"
Accept-Ranges: bytes

 

HTTP报文详解:

method方法

请求方式,标明客户端希望服务器对资源执行的动作:
get:从服务器获取一个资源
head:只从服务器获取文档的响应首部
post:向服务器输入数据
put:将请求的主体部分存储在服务器中,如上传文件
delete:请求删除服务器上制定的文档
trace:追踪请求到达服务器中间经过的代理服务器
options:请求服务器返回对指定资源支持使用的请求方法
connect:建立一个到有目标资源标识的服务器的隧道
patch;用于对资源应用部分修改

verison版本 

HTTP/1.1

status状态吗

http协议状态吗分类:
1xx 100-101 信息提示
2xx 200-206 成功
3xx 300-307 重定向
4xx 400-415 错误类信息,客户端错误
5xx 500-505 服务器端错误

 

posted @ 2021-04-07 14:16  huakai201  阅读(249)  评论(0编辑  收藏  举报